]> git.pond.sub.org Git - empserver/blobdiff - src/lib/empthread/ntthread.c
Fix trailing whitespace
[empserver] / src / lib / empthread / ntthread.c
index b8d2ab8b28048b3f90d731ab8b524e0c43f1479f..68bd3ffb1945e5403ce457cd9d41c72500b92d55 100644 (file)
@@ -26,7 +26,7 @@
  *  ---
  *
  *  ntthread.c: Interface from Empire threads to Windows NT threads
- * 
+ *
  *  Known contributors to this file:
  *     Doug Hay, 1998
  *     Steve McClure, 1998
@@ -135,7 +135,7 @@ struct loc_Thread {
  *
  */
 struct loc_RWLock {
-    char name[17];     /* The thread name, passed in at create time. */
+    char *name;                /* The lock name, passed in at create time. */
     HANDLE can_read;   /* Manual event -- allows read locks */
     HANDLE can_write;  /* Auto-reset event -- allows write locks */
     int nread;         /* number of active readers */
@@ -304,12 +304,12 @@ loc_BlockThisThread(void)
 static BOOL WINAPI
 loc_Exit_Handler(DWORD fdwCtrlType)
 {
-    switch (fdwCtrlType) { 
+    switch (fdwCtrlType) {
         case CTRL_C_EVENT:
         case CTRL_CLOSE_EVENT:
-        case CTRL_BREAK_EVENT: 
-        case CTRL_LOGOFF_EVENT: 
-        case CTRL_SHUTDOWN_EVENT: 
+        case CTRL_BREAK_EVENT:
+        case CTRL_LOGOFF_EVENT:
+        case CTRL_SHUTDOWN_EVENT:
            empth_request_shutdown();
             return TRUE;
         default:
@@ -666,11 +666,12 @@ empth_rwlock_create(char *name)
        return NULL;
 
     memset(rwlock, 0, sizeof(*rwlock));
-    strncpy(rwlock->name, name, sizeof(rwlock->name) - 1);
+    rwlock->name = strdup(name);
 
     if ((rwlock->can_read = CreateEvent(NULL, TRUE, TRUE, NULL)) == NULL) {
        logerror("rwlock_create: failed to create reader event %s at %s:%d",
            name, __FILE__, __LINE__);
+       free(rwlock->name);
        free(rwlock);
        return NULL;
     }
@@ -678,6 +679,7 @@ empth_rwlock_create(char *name)
     if ((rwlock->can_write = CreateEvent(NULL, FALSE, TRUE, NULL)) == NULL) {
        logerror("rwlock_create: failed to create writer event %s at %s:%d",
            name, __FILE__, __LINE__);
+       free(rwlock->name);
        CloseHandle(rwlock->can_read);
        free(rwlock);
        return NULL;
@@ -690,6 +692,8 @@ empth_rwlock_destroy(empth_rwlock_t *rwlock)
 {
     if (CANT_HAPPEN(rwlock->nread || rwlock->nwrite))
        return;
+    if (rwlock->name != NULL)
+       free(rwlock->name);
     CloseHandle(rwlock->can_read);
     CloseHandle(rwlock->can_write);
     free(rwlock);