typedef struct MsgState {
GHashTable *domains; /* List of text domains. */
- GStaticMutex lock; /* Mutex to protect shared state. */
+ GMutex lock; /* Mutex to protect shared state. */
} MsgState;
{
ASSERT(msgState == NULL);
msgState = g_new0(MsgState, 1);
- g_static_mutex_init(&msgState->lock);
+ g_mutex_init(&msgState->lock);
return NULL;
}
"catalog dir '%s'.\n", domain, lang, catdir);
}
} else {
- g_static_mutex_lock(&state->lock);
+ g_mutex_lock(&state->lock);
MsgSetCatalog(domain, catalog);
- g_static_mutex_unlock(&state->lock);
+ g_mutex_unlock(&state->lock);
}
g_free(file);
g_free(usrlang);
memcpy(idBuf, idp, len);
idBuf[len] = '\0';
- g_static_mutex_lock(&state->lock);
+ g_mutex_lock(&state->lock);
catalog = MsgGetCatalog(domain);
if (catalog != NULL) {
}
}
- g_static_mutex_unlock(&state->lock);
+ g_mutex_unlock(&state->lock);
return strp;
}
guint maxFiles;
gboolean append;
gboolean error;
- GStaticRWLock lock;
+ GRWLock lock;
} FileLoggerData;
gboolean ret = FALSE;
FileLoggerData *data = (FileLoggerData *) _data;
- g_static_rw_lock_reader_lock(&data->lock);
+ g_rw_lock_reader_lock(&data->lock);
if (data->error) {
goto exit;
* We need to drop the read lock and acquire a write lock to open
* the log file.
*/
- g_static_rw_lock_reader_unlock(&data->lock);
- g_static_rw_lock_writer_lock(&data->lock);
+ g_rw_lock_reader_unlock(&data->lock);
+ g_rw_lock_writer_lock(&data->lock);
if (data->file == NULL) {
data->file = ServiceFileLoggerOpen(data);
}
- g_static_rw_lock_writer_unlock(&data->lock);
- g_static_rw_lock_reader_lock(&data->lock);
+ g_rw_lock_writer_unlock(&data->lock);
+ g_rw_lock_reader_lock(&data->lock);
if (data->file == NULL) {
data->error = TRUE;
fprintf(stderr, "Unable to open log file %s\n", data->path);
#endif
if (g_atomic_int_get(&data->logSize) >= data->maxSize) {
/* Drop the reader lock, grab the writer lock and re-check. */
- g_static_rw_lock_reader_unlock(&data->lock);
- g_static_rw_lock_writer_lock(&data->lock);
+ g_rw_lock_reader_unlock(&data->lock);
+ g_rw_lock_writer_lock(&data->lock);
if (g_atomic_int_get(&data->logSize) >= data->maxSize) {
fclose(data->file);
data->append = FALSE;
data->file = ServiceFileLoggerOpen(data);
}
- g_static_rw_lock_writer_unlock(&data->lock);
- g_static_rw_lock_reader_lock(&data->lock);
+ g_rw_lock_writer_unlock(&data->lock);
+ g_rw_lock_reader_lock(&data->lock);
} else {
fflush(data->file);
}
}
exit:
- g_static_rw_lock_reader_unlock(&data->lock);
+ g_rw_lock_reader_unlock(&data->lock);
return ret;
}
*/
data->append = TRUE;
- g_static_rw_lock_init(&data->lock);
+ g_rw_lock_init(&data->lock);
if (logFileName != NULL) {
data->path = g_filename_from_utf8(logFileName, -1, NULL, NULL, NULL);