key_datum.dptr = key_vp->strvalue;
key_datum.dsize = key_vp->length;
- if (data->fd >= 0) rad_lockfd(data->fd, sizeof(int));
count_datum = gdbm_fetch(data->gdbm, key_datum);
- if (data->fd >= 0) rad_unlockfd(data->fd, sizeof(int));
if (count_datum.dptr == NULL) {
return -1;
key_datum.dptr = key_vp->strvalue;
key_datum.dsize = key_vp->length;
- if (data->fd >= 0) rad_lockfd(data->fd, sizeof(int));
count_datum = gdbm_fetch(data->gdbm, key_datum);
if (count_datum.dptr == NULL)
counter = 0;
count_datum.dsize = sizeof(int);
rcode = gdbm_store(data->gdbm, key_datum, count_datum, GDBM_REPLACE);
- if (data->fd >= 0) rad_unlockfd(data->fd, sizeof(int));
if (rcode < 0) {
radlog(L_ERR, "rlm_counter: Failed storing data to %s: %s",
data->filename, gdbm_strerror(gdbm_errno));
key_datum.dptr = key_vp->strvalue;
key_datum.dsize = key_vp->length;
- if (data->fd >= 0) rad_lockfd(data->fd, sizeof(int));
count_datum = gdbm_fetch(data->gdbm, key_datum);
- if (data->fd >= 0) rad_unlockfd(data->fd, sizeof(int));
if (count_datum.dptr != NULL){
memcpy(&counter, count_datum.dptr, sizeof(int));
free(count_datum.dptr);
*/
module_t rlm_counter = {
"Counter",
- RLM_TYPE_THREAD_SAFE, /* type */
+ RLM_TYPE_THREAD_UNSAFE, /* type */
NULL, /* initialization */
counter_instantiate, /* instantiation */
{