]> sourceware.org Git - newlib-cygwin.git/commitdiff
Revert thinko in previous patch.
authorCorinna Vinschen <corinna@vinschen.de>
Fri, 18 Apr 2008 20:30:04 +0000 (20:30 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Fri, 18 Apr 2008 20:30:04 +0000 (20:30 +0000)
* fhandler.h (struct wsa_event): Move back from wsa_event.h to here.
* fhandler_socket.cc (NUM_SOCKS): Ditto.
(wsa_events): Move back from cygwin_shared to here.  Accommodate
throughout.
(socket_serial_number): Ditto.
* shared_info.h: Accommodate above changes.
* wsa_event.h: Remove.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_socket.cc
winsup/cygwin/shared_info.h
winsup/cygwin/wsa_event.h [deleted file]

index 66559199d16e14b21664eb5be6819ee956683353..1d4c7fea32b089f6d44d47d643daa7cf980ac9f3 100644 (file)
@@ -1,6 +1,17 @@
 2008-04-18  Corinna Vinschen  <corinna@vinschen.de>
 
-       * fhandler.h (-struct wsa_event): Move to wsa_event.h.  Include
+       Revert thinko in previous patch.
+       * fhandler.h (struct wsa_event): Move back from wsa_event.h to here.
+       * fhandler_socket.cc (NUM_SOCKS): Ditto.
+       (wsa_events): Move back from cygwin_shared to here.  Accommodate
+       throughout.
+       (socket_serial_number): Ditto.
+       * shared_info.h: Accommodate above changes.
+       * wsa_event.h: Remove.
+
+2008-04-18  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler.h (struct wsa_event): Move to wsa_event.h.  Include
        wsa_event.h instead.
        * fhandler_socket.cc (NUM_SOCKS): Move to wsa_event.h.
        (wsa_events): Move from DLL shared area to cygwin_shared shared
index 5d421aa17d9d8454ff5910647a6a5559840ae2fc..856f68321e31a63d978e9a0e33c6d91458fe1606 100644 (file)
@@ -394,7 +394,13 @@ class fhandler_mailslot : public fhandler_base
   select_record *select_read (select_record *s);
 };
 
-#include "wsa_event.h"
+struct wsa_event 
+{
+  LONG serial_number;
+  long events;
+  int  connect_errorcode;
+  pid_t owner;
+};  
 
 class fhandler_socket: public fhandler_base
 {
index 9f8aa2c6a34136532eaf7e2bc16ba9a5e498b6d1..e718db09755a851e7aaa495dbd24e988d785020d 100644 (file)
@@ -403,9 +403,15 @@ fhandler_socket::af_local_set_secret (char *buf)
 /* Maximum number of concurrently opened sockets from all Cygwin processes
    per session.  Note that shared sockets (through dup/fork/exec) are
    counted as one socket. */
+#define NUM_SOCKS       (32768 / sizeof (wsa_event))
+
 #define LOCK_EVENTS    WaitForSingleObject (wsock_mtx, INFINITE)
 #define UNLOCK_EVENTS  ReleaseMutex (wsock_mtx)
 
+static wsa_event wsa_events[NUM_SOCKS] __attribute__((section (".cygwin_dll_common"), shared)) = { 0 };
+
+static LONG socket_serial_number __attribute__((section (".cygwin_dll_common"), shared)) = 0;
+
 static HANDLE wsa_slot_mtx;
 
 static wsa_event *
@@ -430,11 +436,10 @@ search_wsa_event_slot (LONG new_serial_number)
       break;
     }
   unsigned int slot = new_serial_number % NUM_SOCKS;
-  while (cygwin_shared->wsa_events[slot].serial_number)
+  while (wsa_events[slot].serial_number)
     {
       HANDLE searchmtx = OpenMutex (STANDARD_RIGHTS_READ, FALSE,
-           shared_name (searchname, "sock",
-                        cygwin_shared->wsa_events[slot].serial_number));
+           shared_name (searchname, "sock", wsa_events[slot].serial_number));
       if (!searchmtx)
        break;
       /* Mutex still exists, attached socket is active, try next slot. */
@@ -448,10 +453,10 @@ search_wsa_event_slot (LONG new_serial_number)
          return NULL;
        }
     }
-  memset (&cygwin_shared->wsa_events[slot], 0, sizeof (wsa_event));
-  cygwin_shared->wsa_events[slot].serial_number = new_serial_number;
+  memset (&wsa_events[slot], 0, sizeof (wsa_event));
+  wsa_events[slot].serial_number = new_serial_number;
   ReleaseMutex (wsa_slot_mtx);
-  return cygwin_shared->wsa_events + slot;
+  return wsa_events + slot;
 }
 
 bool
@@ -464,9 +469,9 @@ fhandler_socket::init_events ()
   do
     {
       new_serial_number =
-       InterlockedIncrement (&cygwin_shared->socket_serial_number);
+       InterlockedIncrement (&socket_serial_number);
       if (!new_serial_number)  /* 0 is reserved for global mutex */
-       InterlockedIncrement (&cygwin_shared->socket_serial_number);
+       InterlockedIncrement (&socket_serial_number);
       wsock_mtx = CreateMutex (&sec_all, FALSE,
                               shared_name (name, "sock", new_serial_number));
       if (!wsock_mtx)
index bb4982b6e3cb0cb4b8279562aa209308218ac62f..ea504d2e34048d43af39c896aa714bd1f6be6809 100644 (file)
@@ -10,7 +10,6 @@ details. */
 
 #include "tty.h"
 #include "security.h"
-#include "wsa_event.h"
 #include "mtinfo.h"
 
 /* Mount table entry */
@@ -123,9 +122,9 @@ public:
                                  cygwin_version.api_minor)
 #define SHARED_VERSION_MAGIC CYGWIN_VERSION_MAGIC (SHARED_MAGIC, SHARED_VERSION)
 
-#define SHARED_INFO_CB 63912
+#define SHARED_INFO_CB 31144
 
-#define CURR_SHARED_MAGIC 0x419c874U
+#define CURR_SHARED_MAGIC 0xbc77afb0U
 
 /* NOTE: Do not make gratuitous changes to the names or organization of the
    below class.  The layout is checksummed to determine compatibility between
@@ -140,8 +139,6 @@ class shared_info
   unsigned heap_slop;
   DWORD sys_mount_table_counter;
   tty_list tty;
-  wsa_event wsa_events[NUM_SOCKS];
-  LONG socket_serial_number;
   LONG last_used_bindresvport;
   mtinfo mt;
 
diff --git a/winsup/cygwin/wsa_event.h b/winsup/cygwin/wsa_event.h
deleted file mode 100644 (file)
index c547743..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* wsa_event.h: type definition of a wsock event storage structure.
-
-   Copyright 2008 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _WSA_EVENT_H_
-#define _WSA_EVENT_H_
-
-/* All Cygwin processes together can share 2048 sockets. */
-#define NUM_SOCKS       (32768 / sizeof (wsa_event))
-  
-struct wsa_event 
-{
-  LONG serial_number;
-  long events;
-  int  connect_errorcode;
-  pid_t owner;
-};  
-
-#endif /* _WSA_EVENT_H_ */
This page took 0.042256 seconds and 5 git commands to generate.