Commit Graph

89 Commits

Author SHA1 Message Date
Andreas Mohr 5e7fa021ef - fix one locking ignorant return 0; in MSG_SendMessageInterThread()
- fix a crash in QUEUE_RemoveSMSG()
- convert some queue WARN() to ERR()
- spaileng fikses
2000-08-29 03:52:46 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard 93652e1a68 Moved a bunch of functions out of libwine/kernel/gdi into USER. 2000-08-04 04:21:02 +00:00
Alexandre Julliard c5e433a3a6 Moved idle event handling to the server. 2000-05-30 19:48:18 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Alexandre Julliard 5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard 114830e8a9 Made GetProcessHeap(), GetCurrentProcessId(), GetCurrentThread() and
GetCurrentProcess() inline.
2000-04-11 20:01:59 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Peter Ganten 6619f5a71a Implemented WaitForInputIdle. 2000-01-01 22:38:20 +00:00
Ulrich Weigand 2faf2cf964 Perform 16/32A/32W message mapping for posted messages. 1999-12-10 03:47:13 +00:00
James Abbatiello 161693e4f9 Addresses issues with multiple processes accessing non-global critical
sections.
1999-11-07 19:22:46 +00:00
Ove Kaaven 6103e4b195 Made hardware_event use win32-conformant parameters. 1999-08-07 12:33:35 +00:00
Ulrich Weigand 081daf7d21 Implemented KERNEL.447 (WIN32_OldYield16). 1999-07-31 17:27:38 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Ulrich Weigand 79f203af48 Release WND lock before calling PostEvent16(). 1999-06-06 14:42:10 +00:00
Alexandre Julliard 54a39e253c Got rid of THREAD_InitDone.
Made THREAD_Current() inline.
Moved server tid into TEB.
1999-05-29 14:27:26 +00:00
Marcus Meissner d7c565f5de Replaced WIN_GetWindowInstance by GetWindowLongA(GWL_HINSTANCE),
removed unnecessary win.h includes, added syslevel.h to queue.c.
1999-05-14 18:39:37 +00:00
Ulrich Weigand 279d1174fd Correct implementation of GetWindowThreadProcessId(). 1999-05-04 15:57:27 +00:00
Eric Pouech 8c38f45a7e Fixed some deadlock(s) in message sending. 1999-05-03 09:44:57 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Andreas Mohr c21a911c89 Added a missing LeaveCriticalSection. 1999-05-01 10:20:18 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Eric Pouech 7f14c085bd In UserYield16, when current thread is a 32 bit one which hold the
Win16Lock, must take care of a LockCount > 1.
1999-04-01 09:58:53 +00:00
Ulrich Weigand 831560cd97 Call EVENT_Pending() to flush X11 output queue before blocking in
MsgWaitForMultipleObjects().
Don't call EVENT_WaitNetEvent in MSG_PeekHardwareMsg.
Protect system queue access in hardware_event().
1999-03-28 13:10:54 +00:00
Ulrich Weigand da5779e5bd Allow UserYield16 to be called from 32-bit thread. 1999-03-27 16:10:52 +00:00
Alexandre Julliard 34bf815822 Got rid of SYSTEM_LOCK macros. 1999-03-21 08:36:55 +00:00
Marcus Meissner 6b9dd2e098 Lots of warning fixed, one missing WINAPI in ddraw.c added. 1999-03-18 17:39:57 +00:00
Ulrich Weigand c68c4b15f0 Inter-thread SendMessage() bugfixes:
- Insert new message to be received at the *end* of the SM_PENDING_LIST.
- Do *not* process received messages in ReplyMessage().
- Clear the QS_SMRESULT flag only immediatedly before waiting.
1999-03-17 15:14:31 +00:00
Francois Boisvert 6b1b41cf85 Made access to the wnd struct thread-safe. 1999-03-14 17:25:32 +00:00
Marcus Meissner 88e651dac3 Fixed newly introduced and some leftover warnings. 1999-03-13 18:20:26 +00:00
Stephane Lussier bae5552a14 Implemented SendMessageTimeout() functions. 1999-03-10 16:21:12 +00:00
Alexandre Julliard 8feb3bc177 Process and thread id now use the server-side id instead of an
obfuscated pointer.
1999-02-28 12:25:03 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Martin Walker 4d1d359c2b Fixed message filtering check. 1999-02-19 16:50:24 +00:00
Stephane Lussier 2c86dab53a - New implementation of SendMessage, ReceiveMessage, ReplyMessage functions
to support thread-safeness, and nested SendMessage.
- Addition of ReplyMessage32.
1999-02-18 17:34:09 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Stephane Lussier 7798307bdf Use global synchronization objects, to be able to use it in different
processes (not only the process which create the synchro object).
1999-02-13 12:24:04 +00:00
Stephane Lussier b3a99de50d -Fixed MESSAGE functions that were thunking down to 16 bits implementation.
So PeekMessage32, GetMessage32, PostMessage32, PostThreadMessage are fixed
with this patch. Unicode version of those functions is currently only
calling the ASCII version.
-Fixed queue signaling using a new EVENT object in the queue for 32 bits
thread. MsgWaitForMultipleObject has been fixed and is now blocking on the
right EVENT.
1999-02-09 15:35:12 +00:00
Stephane Lussier 91bb1f974c - Cleaned up the message queue when a thread exit (but not the process).
- Modified QUEUE_DeleteMsgQueue to exit gracefully (without crashing Wine) if
  queue link list is corrupted.
1999-02-09 14:07:07 +00:00
Noel Borthwick b427856b45 Added management and allocation of the PERQUEUEDATA structure. 1999-02-05 10:37:53 +00:00
Stephane Lussier 1c4786fedf - Made the message queue access to be thread safe. (Using two new
functions to access the message queue, QUEUE_Lock(), QUEUE_Unlock()
  instead of GlobalLock16()).
- Fixed QUEUE_DumpQueue (used by "info queue <handle>" with the
  wine-debugger).
1999-01-28 10:54:11 +00:00
Stephane Lussier a4c8445ba3 - Changing MESSAGEQUEUE structure according to Ulrich proposition.
- One message queue for every thread needing it.
- Messages in the message queue are now stored in a linked list
- Messages are allocated in the system heap.
- Messages in the message queue are 32 bits (MSG32).
- All read/write operations regarding messages in the message queue are
  thread safe.
1999-01-26 09:30:05 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Alexandre Julliard dbf2bf00bc Moved MsgWaitForMultipleObject implementation to USER routines, using
a normal Win32 event.
1999-01-01 17:05:53 +00:00
Alexandre Julliard 55443878fc Removed client-side wait functions; all waiting is now done through
the server.
1998-12-31 15:52:06 +00:00
Ulrich Weigand 89b93bf26b Implemented stub for InitThreadInput.
Use GetThreadQueue/GetFastQueue instead of GetTaskQueue.
1998-12-24 15:15:00 +00:00
Ulrich Weigand ae3fbab8e4 Bugfix: always clear QS_... from *both* changeBits and waitBits.
Bugfix: queue->hSendingTask is *queue* handle, not task handle.
1998-12-18 16:53:20 +00:00
Juergen Schmied a40e74255e Small change. 1998-12-01 12:52:56 +00:00