Commit Graph

903 Commits

Author SHA1 Message Date
Alexandre Julliard 56206376b8 Desktop window is repainted on WM_ERASEBKGND, it must never get a
WM_PAINT.
2005-01-11 15:15:11 +00:00
Alexandre Julliard 646ab89f0a Support mapping non page-aligned binaries for SEC_IMAGE mappings. 2005-01-04 12:04:06 +00:00
Rein Klazes 5dc91e6c08 A starting process must obey the STARTF_USESTDHANDLES flag and use the
standard io handles from the StartupInfo structure, even if it is
starting a new console.
2004-12-15 10:47:23 +00:00
Robert Shearman 7572b125b5 Implement NtQueryTimer. 2004-12-13 21:10:58 +00:00
Alexandre Julliard 5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Eric Pouech 294835a839 Another round of const correctness fixes. 2004-12-06 20:43:55 +00:00
Peter Chapman 505dfdefb5 Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Eric Pouech 44158dd690 - moved event, semaphore, mutex implementation from kernel32 to ntdll
- added mutant implementation in ntdll, and use it for mutex
  implementation in kernel32
- added access parameter on event, semaphore, timer creation in
  wineserver (as ntdll interface requires it)
- added missing definitions in include/winternl.h
2004-12-02 18:05:37 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Alexandre Julliard ff986a5a93 Converted the timer list to use standard list functions.
Allocate a timer id when the window is 0 instead of relying on the
client to do it.
Allow setting timers on windows belonging to other threads (found by
Mike McCormack).
2004-11-29 18:08:18 +00:00
Dmitry Timoshkov 93a4e1eed3 Take into account window visibility when searching for a target for a
hardware mouse message.
2004-10-27 21:55:00 +00:00
Alexandre Julliard 085ef06bd5 Added is_window_visible function. 2004-10-27 21:54:41 +00:00
Alexandre Julliard 626aa3366f Added fallback syscalls for epoll functions. 2004-10-27 01:03:30 +00:00
Bill Medland ec39d65540 Added a version option to the wineserver. 2004-10-19 03:57:41 +00:00
Vincent Béron 1d9df9f9c0 Create the necessary functions for wineserver contexts for Alpha. 2004-10-14 03:05:09 +00:00
Alexandre Julliard 969f57c24a Added support for epoll() as an alternative to poll() (based on the
work of Shachar Shemesh and Mike McCormack).
2004-09-23 04:48:24 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Alexandre Julliard 4949a717c4 Moved timeout processing to a separate function. 2004-09-20 19:14:35 +00:00
Alexandre Julliard 807fe07417 Don't bother to return partial region data in get_window_region and
get_visible_region, return STATUS_BUFFER_OVERFLOW instead.
2004-09-17 18:20:11 +00:00
Alexandre Julliard 17c775f13c Take care to not close the file handle if there are outstanding locks
and the directory options don't match.
2004-09-09 00:28:36 +00:00
Alexandre Julliard 15e12daf03 Converted the timeout list to use the standard list functions. 2004-09-08 04:17:31 +00:00
Alexandre Julliard 5e128dd470 Added xor_region, fixed rect_in_region. 2004-09-08 01:34:22 +00:00
Eric Pouech 440ad8ccf2 - ctrl-c enabling flag is now inherited
- fixed console-related fields in RTL_USER_PROCESS_PARAMETERS
- various clean-up in kernel32.SetConsoleCtrlHandler
- only send a console event once to a process and not to all the
  process' threads
2004-09-08 01:25:05 +00:00
Alexandre Julliard 0a6af13982 Make sure to run through the poll loop once before processing newly
added timers (reported by Mike McCormack).
2004-09-07 23:28:14 +00:00
Alexandre Julliard edc90a9f9c Added rect_in_region function. 2004-09-01 22:49:14 +00:00
Ulrich Czekalla 342adc93ef The clipboard owner can be set by the thread that has the clipboard
open.
2004-08-23 17:57:03 +00:00
Alexandre Julliard 6a27b48895 Fd type is no longer used, get rid of it. 2004-08-18 00:04:58 +00:00
Eric Pouech 1ffddb4d0c - better support for non-blocking COMM and socket read/writes:
+ added necessary semantics to fd flags
  + no longer uses fd type (but fd flags) read/write semantic behavior
- fixed socket code to use the proper manifest constants
- fixes for kernel32.GetOverlappedResult without hEvent set
- in ntdll.Nt{Read|Write}File
  + always reset the event
  + added support for longlong offsets
  + better object disposal in error handling code paths
2004-08-17 23:37:55 +00:00
Alexandre Julliard 4616dcb9a7 Moved the WindowFromPoint functionality to the server so that we can
properly take into account the window region.
2004-07-20 22:17:38 +00:00
Alexandre Julliard c4ec2108b1 Pass the environment for a child process through the server instead of
relying on the Unix environment.
2004-07-16 03:54:35 +00:00
Mike McCormack 99a6efa1af Fix a double free in the named pipe code. 2004-07-15 18:59:58 +00:00
Alexandre Julliard 3365eb7a2d get_visible_region: do not clip out siblings of the top-level window. 2004-07-06 23:54:49 +00:00
Mike McCormack ea782b60d6 Translate ENODEV and ENXIO error codes to NT status codes. 2004-07-06 19:42:09 +00:00
Alexandre Julliard 618a7e5813 Added support for window regions in the server. 2004-06-29 03:53:25 +00:00
Dmitry Timoshkov b3569e7015 Add a test case for clipboard functionality and fix some bugs revealed
by it.
2004-06-25 02:55:37 +00:00
Alexandre Julliard e8d86b7cd4 Moved visible region calculation to the server. 2004-06-23 20:44:58 +00:00
Alexandre Julliard 15ca8209d6 Properly reset msg_thread when releasing the thread input structure. 2004-06-17 20:00:25 +00:00
Eric Pouech b0fd2ade62 - Added ProcessBasicInformation class to ntdll.NtQueryInformationProcess.
- Make use of it in kernel32.
2004-06-14 17:02:00 +00:00
Alexandre Julliard ed8a41c7b5 Only allocate even-numbered window handles, MS Project depends on that
(found by Dmitry Timoshkov).
2004-05-28 19:35:37 +00:00
Alexandre Julliard 60287d0ac2 Make sure we don't truncate the file on open before we have checked
the sharing modes (thanks to Dmitry Timoshkov for the test case).
2004-05-22 03:15:04 +00:00
Alexandre Julliard 8c29b5f0cc Removed the no longer used SMB file I/O support, we can't do reliable
file I/O in user space anyway.
2004-05-14 22:24:48 +00:00
Alexandre Julliard 5b23efc3a2 Make sure to save the registry files even if we failed to load them. 2004-05-14 00:45:11 +00:00
Alexandre Julliard c07ce0571e Moved loading of the home registry files to the server, there's no
real need to make these configurable.
2004-05-07 04:13:21 +00:00
Alexandre Julliard 7e9757c61d Removed handling of special root keys, this is done by the client now. 2004-05-06 23:42:04 +00:00
Alexandre Julliard 72f87b8c06 Use pread/pwrite everywhere to avoid changing the file position while
the client is using it.
Get rid of the no longer used truncate_file request.
2004-05-01 02:50:06 +00:00
Alexandre Julliard 58447bcd09 Avoid autodetecting the prefix when loading the config file since the
first key may be named 'wine'.
2004-04-30 18:35:13 +00:00
Alexandre Julliard ad9b799324 Reimplemented CreateDirectoryW and RemoveDirectoryW using ntdll
functions.
2004-04-27 02:27:09 +00:00
Alexandre Julliard 716878c5b1 Fixed a number of NT status values to be closer to NT behavior. 2004-04-16 23:32:40 +00:00
Alexandre Julliard dfcfc98ed0 RtlSetCurrentDirectory_U: store a handle to the current directory
along with its name.
2004-04-16 05:00:46 +00:00
Alexandre Julliard 684b65cd52 Added support for FILE_DIRECTORY_FILE and FILE_NON_DIRECTORY_FILE open
options.
2004-04-16 04:31:35 +00:00
Filip Navara 2392a36370 Get rid of non-standard ERROR_UNKNOWN value. 2004-04-12 23:15:11 +00:00
Alexandre Julliard 18c08d307a Removed the get_file_info request. 2004-04-08 19:09:04 +00:00
Alexandre Julliard db4517010b Handle the set_file_pointer request on the client side. 2004-04-07 22:02:09 +00:00
Alexandre Julliard 49b2f6d964 Get rid of the removable media handling in the server. 2004-04-06 23:41:01 +00:00
Alexandre Julliard 670711ef25 Handle file mappings on removable media entirely inside ntdll. 2004-04-06 23:13:47 +00:00
Alexandre Julliard 9ff78729fa Moved FILE_DELETE_ON_CLOSE support to the inode object so that we
really wait for the last close.
Added FILE_SHARE_DELETE support.
2004-04-02 19:50:49 +00:00
Alexandre Julliard 74bd1e47ed Check file sharing permissions based on the file inode instead of the
file name.
Added regression test for sharing permissions.
2004-03-27 20:48:42 +00:00
Alexandre Julliard a1fe8b4f24 Use futimes() instead of utime() to implement SetFileTime, so that it
can be done on the client side.
2004-03-27 01:48:52 +00:00
Alexandre Julliard adc0610db7 Make the standard create_file request handle serial ports too, and
remove the create_serial request.
2004-03-18 04:08:48 +00:00
Alexandre Julliard 014099caf5 Changed the create_file server request to take NtCreateFile flags
instead of CreateFileW ones (based on a patch by Eric Pouech).
2004-03-12 01:56:49 +00:00
Alexandre Julliard db692c8f39 Open a real file handle for drive devices, and get rid of the server
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Uwe Bonnes 9ffce00940 Pass inherit handle flag properly for CreateNamedPipe. 2004-02-24 01:06:30 +00:00
Huw Davies bdb63eca78 Add the F_NOTIFY defines if we're compiling with linux and they're not
in the system header files.
2004-02-10 20:08:24 +00:00
Alexandre Julliard a5f816c6d3 Do a protocol error instead of crashing if the reply fd has not been
set.
2004-02-05 01:48:02 +00:00
Hans Leidekker ff49652ef6 Improved error reporting.
Add some notification types and a test.
2004-02-05 01:45:58 +00:00
Mike McCormack dc82769e61 Mapping a zero size file should fail. 2004-01-09 00:34:14 +00:00
Mike Hearn 43cb03be3a Implemented RegFlushKey and NtFlushKey. 2004-01-03 00:38:30 +00:00
Wim Lewis 99a01c03d3 EOVERFLOW does not exist on OpenBSD. 2004-01-02 20:11:35 +00:00
Alexandre Julliard bd13ab8d78 Store a pointer to the client-side class structure in the server and
return it on create_window and destroy_class.
Only create a single instance of the desktop class for the whole
session.
Added some missing locking in the client-side class management.
2003-12-11 05:34:53 +00:00
Alexandre Julliard bfce151ae5 Added window classes in the server, and support for inter-process
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.
2003-12-10 04:08:06 +00:00
Alexandre Julliard 08d01923e5 Print names for Win32 errors too, plus a few more status codes. 2003-12-10 02:14:23 +00:00
Alexandre Julliard ebf1243ec1 Added support for inter-process GetWindowWord.
Do better range checking on the window extra bytes.
2003-12-10 01:34:51 +00:00
Alexandre Julliard d5b4232a3f Added set_win32_error() for error codes that don't have an NT status
equivalent.
2003-12-10 01:12:18 +00:00
Alexandre Julliard f3f435ffa1 Added wine_server_release_fd function to release the fd returned by
wine_server_handle_to_fd. Fixed a couple of potential fd leaks.
2003-12-01 23:01:12 +00:00
Alexandre Julliard 8eb5e68168 cbthread and cbowner don't need to be exported. 2003-11-28 23:17:56 +00:00
Alexandre Julliard 97903d260b Added support for inter-process GetWindowLong on the window extra
bytes.
2003-11-26 22:15:41 +00:00
Martin Fuchs 76adb1ff0d - Move shell window into the background.
- Add tests for Get/SetShellWindow().
2003-11-18 00:13:34 +00:00
Alexandre Julliard 3c68ab05ca Make init_thread request deal better with fd allocation errors. 2003-10-27 22:10:22 +00:00
Alexandre Julliard f9f37beb8a Added support for the linuxthreads cancel signal as an alternative to
SIGCHLD.
2003-10-24 04:29:01 +00:00
Daniel Marmier 7832562ee6 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-21 23:57:25 +00:00
Alexandre Julliard e55d5937ac Set or clear the BeingDebugged flag in the PEB when a debugger is
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard af192f83b6 Store a "removable" flag instead of the full drive type in the server
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +00:00
Alexandre Julliard 8d174d3f47 Store the global shell, progman and taskman windows in the server
(based on a patch by Martin Fuchs).
2003-10-07 03:40:23 +00:00
Alexandre Julliard 841f898663 Converted process creation to Unicode. 2003-10-04 04:09:41 +00:00
Gerald Pfeifer 27005516a3 Cast time_t to long for printing. 2003-10-01 03:32:16 +00:00
Alexandre Julliard c30cefb2d5 Store module names in Unicode in the server. 2003-09-30 01:04:19 +00:00
Eric Pouech 9fd54b2838 - Implemented a few information classes in NtQuerySystemInformation.
- Added handle information to (wineserver) process snapshot.
2003-09-16 01:07:21 +00:00
Alexandre Julliard ef5f6c7fad Moved list.h to include/wine so that it can be used everywhere. 2003-09-11 20:45:17 +00:00
Alexandre Julliard e0b5270b4a Fixed include statements to match server_protocol.h (spotted by Eric
Pouech).
2003-09-08 19:04:01 +00:00
Alexandre Julliard 62986a0107 Added a few missing stdarg.h includes. 2003-09-07 05:08:14 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard de1990f4cf Cope with wait4 being interrupted by a signal. 2003-08-21 21:35:15 +00:00
Alexandre Julliard 9e9e3a9ce5 We need to ignore STATUS_OBJECT_TYPE_MISMATCH errors too when setting
the process console.
2003-08-19 03:46:24 +00:00
Mike McCormack 5ac945c021 Implement registry key unloading. 2003-08-19 03:08:17 +00:00
Eric Pouech 449d10fd79 Fixed regression in process creation (std handle inheritance). 2003-08-19 01:05:17 +00:00
Alexandre Julliard 039e13118e Implemented inter-thread SendMessageCallback. 2003-07-26 20:36:43 +00:00
Mike McCormack 36cd6f5dbb Added a security token object in wineserver. 2003-07-24 00:07:00 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Alexandre Julliard ca3ac8f155 Run WH_KEYBOARD_LL and WH_MOUSE_LL hooks in the context of the thread
that set the hook.
2003-07-11 21:55:58 +00:00
Alexandre Julliard 09029b2878 Implemented the SMTO_ABORTIFHUNG flag of SendMessageTimeout. 2003-07-11 04:09:42 +00:00
Alexandre Julliard 4f196ead13 Implemented the ThreadBasicInformation case for
NtQueryInformationThread.
2003-07-09 02:57:57 +00:00
Alexandre Julliard d55e7f1e9b Store the hook table in the thread queue instead of the thread
structure, and make sure the queue is allocated when setting a hook.
2003-07-03 18:16:48 +00:00
Alexandre Julliard b23aa94321 One more workaround for a missing NFS lock daemon. 2003-07-03 18:12:02 +00:00
Eric Pouech f6a70969e1 - start moving a few file related functions from files/file.c to
dlls/kernel subdir (also splitting 16bit APIs in a separate file)
- implemented ntdll.Nt{Lock|Unlock}File, and made use of those for the
  kernel32 equivalent
- implemented a few information classes in NtQueryInformationFile and
  NtSetInformationFile (still lots of missing classes)
- enhanced the get_file_info server request in order to implement
  correctly NtQueryInformationFile (change time & file alloc size)
- rewrote registry loading to comply with latest changes
2003-06-24 02:32:01 +00:00
Ulrich Czekalla b2df5f9f19 - use global atoms for the format ids
- add timeout when calling XCheckTypedWindowEvent
- fix broken IsClipboardFormatAvailable; it tried to do a trick with
  EnumClipboardFormats by making incorrect assumptions
- in X11DRV_IsClipboardFormatAvailable do a quick exit if no one owns
  the selection
- add 1 second *minimum* time lapse between XSelectionOwner calls
- sync clipboard ownership between different wine processes
- prevents apps from getting into wierd state where they thought they
  didn't own the selection but they did and as a result queried
  themselves for available selection data
2003-06-23 23:02:02 +00:00
Eric Pouech a86a289420 In console input record queue, replace semaphore with a manual reset
event, so that we get correct behavior in synchronization handling.
2003-06-23 03:37:14 +00:00
Eric Pouech 412d37f6e6 - adapted kernel32 so that it no longer (directly) manages console
handles as wineserver handles
- console input handle object is no longer waitable (input record
  synchronisation is now implemented as a simple semaphore), and removed
  FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
  distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
  (CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
  VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
  (FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Alexandre Julliard 64a41a2842 The server also needs to cope with IMAGE_SCN_CNT_UNINITIALIZED_DATA
and IMAGE_SCN_CNT_INITIALIZED_DATA flags set together.
2003-06-21 02:03:40 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Alexandre Julliard 693bbd79b6 Make it possible to retrieve an inheritable handle in open_named_pipe
(spotted by Uwe Bonnes).
2003-06-14 01:31:56 +00:00
Alexandre Julliard 15566391e2 Proper support for CPPFLAGS and LDFLAGS (suggested by Todd Vierling). 2003-06-13 23:26:01 +00:00
Eric Pouech c00a4473bd Implement anonymous pipes on top of named pipes. 2003-05-20 04:32:53 +00:00
Eric Pouech 4c591d4ef3 Implemented timer related functions in ntdll and make the kernel32
functions use them.
2003-05-20 04:00:42 +00:00
Mike McCormack ef8b94622a - rewrite of the named pipe code
- allow NtFileFlushBuffers to wait
- allow DisconnectNamedPipe to invalidate client cached fd
- fix the pipe test now that one extra test passes
2003-05-15 04:22:45 +00:00
Pierre d'Herbemont 87c15681b2 Add support for Darwin's ptrace. 2003-05-12 03:07:45 +00:00
Alexandre Julliard b932723a8c Ignore locking failures caused by missing NFS locking daemon.
Handle EINVAL the same way as EOVERFLOW.
2003-05-11 02:45:33 +00:00
Alexandre Julliard 22824cb0c3 Fixed typo in return value of tkill(). 2003-05-07 03:22:22 +00:00
Alexandre Julliard fcbd0da4a2 Fixed a couple of races with exiting threads in suspend_for_ptrace(). 2003-05-06 00:21:21 +00:00
Alexandre Julliard d338b49574 Removed no longer correct assertion. 2003-05-02 20:18:09 +00:00
Alexandre Julliard 77fde1378e Properly handle the wait4 syscall failure on kernels that don't
support the __WALL flag.
2003-04-26 02:14:02 +00:00
Bill Medland 3f7c3ff76e Fix for client accessing a named pipe after the server closes it. 2003-04-17 02:14:04 +00:00
Alexandre Julliard 3dddc114cf Fall back to kill() if the kernel doesn't support tkill(). 2003-04-16 23:34:05 +00:00
Yorick Hardy 3f11d48346 Fix for compiling on NetBSD. 2003-04-13 01:06:14 +00:00
Alexandre Julliard 088bcf9ca5 Implemented NtQueueApcThread, and changed the server APC interface to
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
2003-04-04 22:26:34 +00:00
Alexandre Julliard 462172a3d6 Added abs_time_t structure to the server protocol, and added a dump
routine for it that displays the relative timeout to make timeout
values easier to interpret.
2003-04-02 22:48:59 +00:00
Alexandre Julliard 17480acb27 Initialize the dummy char we send down the pipe to make valgrind
happy.
2003-04-02 01:44:01 +00:00
Alexandre Julliard 5537dbbf40 Replaced WINE_CHECK_STRUCT_MEMBER autoconf macro by the standard
AC_CHECK_MEMBERS. Added check for si_fd in siginfo_t.
2003-03-28 00:36:12 +00:00
Alexandre Julliard 3e588e3a57 Implemented file change notifications, based on a patch by Mike
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard 9037f4bbfe Added generic signal handling mechanism based on pipes to synchronize
signals with the main poll loop.
2003-03-26 01:32:18 +00:00
Alexandre Julliard a8497bd037 Make a distinction between the thread Unix pid and the process wide
pid for platforms that use both.
2003-03-22 21:00:09 +00:00
Alexandre Julliard d71ba930ab Ignore fcntl failure when setting a write lock on a read only file. 2003-03-21 21:31:35 +00:00
Alexandre Julliard 2ee8b5bb13 Replaced mkstemp by mkstemps from libiberty.
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +00:00
Alexandre Julliard 4c9754ed00 We still need libwine here... 2003-03-19 22:44:03 +00:00
Alexandre Julliard 6a9fe36de2 Created a separate static portability library and moved some of the
libwine routines in there.
2003-03-19 22:09:16 +00:00
Alexandre Julliard b1095da50c Fixed bug that could cause SendMessage to return too early in certain
cases.
2003-03-19 00:12:17 +00:00
Gerald Pfeifer 6dcc1af7fb Fix signature of open_fd(). 2003-03-18 18:26:44 +00:00
Alexandre Julliard ce61349334 Implemented file locking functions (partly based on my old Corel
patch). Added a few regression tests.
2003-03-18 05:04:33 +00:00
Alexandre Julliard 7ad5be967d Added -f option to make wineserver remain in the foreground for
debugging.
Close stdin/stdout when not in the foreground (based on a patch by
Francois Gouget).
2003-03-14 04:08:42 +00:00
Alexandre Julliard 580da246f5 Added an inode object to keep track of all file descriptors open for a
given file.
Plugged a couple of potential file descriptor leaks.
2003-03-12 22:38:14 +00:00
Alexandre Julliard baf0a064db Attaching the debugger to a running process should work again
(reported by Eric Pouech). Misc cleanups.
2003-03-11 01:48:53 +00:00
Eric Pouech 4431e416ed Fixed typo. 2003-03-10 19:05:04 +00:00
Alexandre Julliard d04ccb8ebe Use SIGUSR1 instead of SIGSTOP to suspend threads. 2003-03-04 22:18:43 +00:00
Peter Hunnisett a3c5ad4e77 Suspended threads should not acquire synchronization objects. 2003-02-28 21:50:47 +00:00
Alexandre Julliard 02a53c176e Added send_thread_signal() function and properly handle errors caused
by the thread having already died when we send it a signal.
Use -1 instead of 0 as invalid Unix pid value.
2003-02-25 04:17:22 +00:00
Alexandre Julliard 4378d25bd2 Avoid some redundant calls to time(NULL).
touch_key() must not be called in create_key.
2003-02-25 04:04:18 +00:00
Alexandre Julliard 77c8b1dc2b Pass the pid of the new process in the new_process request, don't
depend on the parent pid to find the startup info.
2003-02-24 20:51:50 +00:00
Eric Pouech 58711741a4 Fixed read-overflow spotted by valgrind. 2003-02-19 23:27:49 +00:00
Mike McCormack 7034e8be67 Added missing release_object. 2003-02-19 00:38:12 +00:00
Alexandre Julliard e66207ebfc Moved all references to file descriptors out of the generic object
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard d0e4a76544 Make sure get_file_size uses a valid fd (spotted by Uwe Bonnes). 2003-02-17 01:50:40 +00:00
Eric Pouech 4ecc32a405 Fixed regression in process parent handling. 2003-02-14 23:31:10 +00:00
Alexandre Julliard cf27a7fa3b Changed fd operations to take a struct fd instead of a struct object.
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Alexandre Julliard 8b56deb85f Removed direct references to the file descriptor, use the new fd
functions instead so that get_fd works properly.
2003-02-12 21:30:44 +00:00
Steven Edwards 037c8a1246 Porting fixes. 2003-02-11 22:27:13 +00:00
Alexandre Julliard 91befe1d64 Made process and thread ids small integers instead of pointers. 2003-02-01 01:38:40 +00:00
Alexandre Julliard 863637b158 Started moving functions that deal with Unix file descriptors to a
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Martin Wilck c422dae189 Do not clear FD_WINE_CONNECTED on shutdown(). FD_WINE_CONNECTED
(currently unused) can thus be used to determine if a stream socket
was ever connected.
2003-01-28 00:24:04 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Eric Pouech fa8b85aa5c Set the edition mode as a specific attribute, not an extension of the
console mode.
2003-01-09 06:01:32 +00:00
Eric Pouech 2359b57574 - no longer depend on toolhelp definitions for generating snapshots
- added get_dll_info request
2003-01-09 00:01:28 +00:00
Alexandre Julliard 8ba666f3a7 Store the keyboard state in the thread input structure on the server
side.
2003-01-08 19:56:31 +00:00
Alexandre Julliard 3783e49d3a Removed no longer used local variable (spotted by Dmitry Timoshkov). 2003-01-08 19:55:08 +00:00
Alexandre Julliard 08016dc38a Grab the thread object in case the thread terminates with pending
async requests (spotted by Andreas Mohr).
2003-01-08 19:54:19 +00:00
Alexandre Julliard 242e395bbc Store the hardware messages in the thread input structure, not in the
thread queue. Get rid of the cooked messages queue.
2003-01-08 00:27:58 +00:00
Eric Pouech f4b298b811 - Fixed several bugs while resizing an existing screenbuffer.
- Reduced update area for some write conditions.
- Started implementing event message collapsing.
2003-01-05 01:07:34 +00:00
Dimitrie O. Paun 8b36681bad Rename __WINE__ to __WINESRC__. 2003-01-04 00:52:18 +00:00
Bill Medland 309566d925 If a .reg function is accessed through a symlink then write directly
to the file rather than replacing it with a temp file.  This preserves
ownership and permissions.
2002-12-18 05:03:51 +00:00
Alberto Massari 66da6c85e8 The handler for the server message get_next_hook was returning the
module name of the current hook, instead of the next one.
2002-12-17 21:01:01 +00:00
Alexandre Julliard 435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Mike McCormack 11f4b44451 Implemented registry change notifications. 2002-11-25 02:47:32 +00:00
Ryan Cumming 24f4eced42 Partially implement GetThreadTimes. 2002-11-25 01:33:38 +00:00
Alexandre Julliard b31af31cbf Removed the WINE_NO_STRICT support. 2002-11-23 01:09:57 +00:00
Alexandre Julliard 14e68ba7fe Added support for system-wide hooks. 2002-11-20 19:54:32 +00:00
Pierre Beyssac 4c5c90e24d Avoid FreeBSD compatibility issues with dbreg structure. 2002-11-08 18:55:31 +00:00
Alexandre Julliard 775fcfdee5 Work around to make system-global hooks at least run in the thread
that set them.
2002-10-31 22:07:29 +00:00
Alexandre Julliard 0286135de3 Rewrote hook support to store the hook chain in the server.
Split off 16-bit hook functions and re-implemented them on top of the
32-bit ones; system-wide 16-bit hooks are no longer supported at this
point.
2002-10-29 00:41:42 +00:00
Alexandre Julliard b1df392f02 Fixed the WINE_NO_STRICT #ifdefs to do the right thing if STRICT is
defined (spotted by Michael Stefaniuc).
2002-10-21 23:43:04 +00:00
Alexandre Julliard b3332d74b0 Converted the server to -DSTRICT. 2002-10-19 01:00:59 +00:00
Alexandre Julliard 23bb3715f7 Added support for building certain dlls with -DSTRICT.
Added -DWINE_NO_STRICT flag to dlls that don't support STRICT yet.
2002-10-18 23:46:28 +00:00
Alexandre Julliard 11e3523949 Rewrote caret implementation to store the information in the server. 2002-10-17 01:24:33 +00:00
Alexandre Julliard a9e8f59c95 Moved mouse capture handling into the server. 2002-10-12 01:24:37 +00:00
Alexandre Julliard 5030bda77c Reimplemented Get/SetActiveWindow, Get/SetFocus and
Get/SetForegroundWindow by storing the information in the
server. Implemented correct inter-process window activation.
2002-10-11 23:41:06 +00:00
Alexandre Julliard ab5063b217 Added server-side infrastructure for the thread input structure.
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().
2002-10-11 18:50:15 +00:00
Alexandre Julliard 54f228733a Added process_id_t and thread_it_t types to the server interface
instead of using void*, and removed a number of type casts.
2002-10-03 19:54:57 +00:00
Alexandre Julliard 526a28de51 Added support for multiple object namespaces, and a bunch functions
for managing linked lists.
2002-10-02 23:49:30 +00:00
Alexandre Julliard 7dafa61700 Fixed a number of bugs in the handling of window parent and owner and
added a regression test (based on the work of Bill Medland).
2002-09-25 00:21:56 +00:00
Alexandre Julliard 341b7dceb4 Implemented the ntdll virtual memory functions, and made the kernel
functions use them.
2002-09-17 18:54:42 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Marcus Meissner c87c2c4f1a Use Iar (Instruction Address Register) instead of Fill[0].
siginfo.si_code uses the lower 16bit for the type of the exception.
2002-08-30 00:00:57 +00:00
Alexandre Julliard dba83c8bfc Added wine_get_user_name function and got rid of some of the getpwuid
portability stuff.
More portable printf formats for 64-bit types.
2002-08-27 18:30:53 +00:00
Dmitry Timoshkov 1467bbd5a4 Relax a bit PE consistency checks.
Return BINARY_DOS type if extended header was not recognized.
2002-08-27 00:34:41 +00:00
Marcus Meissner 9fc17ee371 Implemented server context/ptrace handling for Linux/PowerPC. 2002-08-17 01:19:06 +00:00
Alexandre Julliard 31022d66ca Signal and release the idle event when the process main thread exits. 2002-08-16 23:30:41 +00:00
Alexandre Julliard 40043ed26f Added -k option to kill an existing wineserver. 2002-08-16 20:02:15 +00:00
Pierre Beyssac 3528755046 Implemented CONTEXT_DEBUG_REGISTERS on FreeBSD. 2002-08-14 20:59:03 +00:00
Alexandre Julliard 714156d7ab Fixed race condition when a thread gets killed right after starting. 2002-08-13 18:24:27 +00:00
Pierre Beyssac bd15bef954 Fixed ptrace argument order for FreeBSD, NetBSD and Solaris. 2002-08-13 03:18:14 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Marcus Meissner 786d24903b Check for mkstemp, added a port implementation if it is not
present. Use mkstemp() in various places needing tmp files.
2002-07-29 23:55:39 +00:00
Marcus Meissner 1e54c1f088 Implemented FlushFileBuffers for serial devices. 2002-07-16 01:20:38 +00:00
Martin Wilck 15a0f0e78e Check POLLHUP semantics at remote shutdown when wineserver is started.
Fix socket state handling and event handling for non-STREAM sockets.
2002-07-03 21:04:09 +00:00
Andreas Mohr 17a2fe0f71 - Use PeekMessage loop around GetMessage.
- Added German resource file.
- Realign some dialog parts.
- "Property" -> "Properties"
- Add some traces.
2002-07-01 23:22:48 +00:00
Alexandre Julliard ff73250630 Unlock the master socket if the boot thread terminates early.
Avoid crash if thread died during timeout wakeup.
2002-06-22 01:20:36 +00:00
Alexandre Julliard cf5188b654 Attempt at fixing POLLHUP handling for Linux 2.2.x. 2002-06-21 19:06:28 +00:00
Alexandre Julliard 4144b5b8fc Create the server directory and socket file in /tmp.
Use fcntl file locking to ensure exclusion on the server socket and to
better recover from crashes.
Flush the registry before closing the socket to avoid timeouts on the
client side.
Moved get_config_dir functionality to libwine.
2002-06-20 23:21:27 +00:00
Alexandre Julliard 88e4261903 Store dirty flag in each registry key and use it to save only modified
branches.
2002-06-20 23:18:56 +00:00
Eric Pouech 93bfa0d6b1 Implementation for console control events (includes process groups
support).
2002-06-02 21:22:22 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 65adc24f14 Fixed next_user_handle to also work on deleted handles. 2002-05-31 18:25:53 +00:00
Alexandre Julliard 5188574984 Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h. 2002-05-30 20:12:58 +00:00
Alexandre Julliard ca96de344b Fixed process startup synchronization broken by previous change. 2002-05-25 21:15:03 +00:00
Alexandre Julliard 9d80215254 A few optimizations in the process startup requests now that Winelib
apps are started differently from Unix ones.
2002-05-24 21:20:27 +00:00
Eric Pouech 47205b823e Fixed missing wineconsole notification of title modification. 2002-05-11 22:53:56 +00:00
Alexandre Julliard ce830a9c18 Added mkinstalldirs to create directories more portably. 2002-05-09 04:31:39 +00:00
Alexandre Julliard 9a68b7bef0 Link the tools and the server against libwine so we can use the
portability functions in there.
2002-04-27 21:19:22 +00:00
Martin Wilck 75242f9bef Fixes to FD_CLOSE handling. 2002-04-27 01:06:09 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Martin Wilck ff1f320ac8 Fixed some bugs in my recently submitted patch series. 2002-04-26 18:31:19 +00:00
Martin Wilck 9ca4285a9f Fixed ReadFile() semantics when reading asynchronously on sockets.
Provide more accurate status codes than STATUS_UNSUCCESSFUL.
2002-04-25 22:58:59 +00:00
Martin Wilck bff7e69981 Implemented server framework for asynchronous IO on sockets. 2002-04-25 21:31:11 +00:00
Martin Wilck 54ba272090 Add more flexibility to the queue_async server call by moving most
functionality into the object's queue_async method.
2002-04-24 21:29:54 +00:00
Martin Wilck d15bf1c0fe Fixed handling of deferred connections in WSAAccept(). 2002-04-23 22:03:42 +00:00
Alexandre Julliard ca18f1580b Clear mapping->shared_file on error. 2002-04-20 21:07:24 +00:00
Martin Wilck 18c1514c74 STATUS_CANCELLED is correct for cancelled requests (corresponds to
ERROR_OPERATION_ABORTED).
2002-04-14 19:33:52 +00:00
Uwe Bonnes 4f7d893ccb get_window_children: only decrement available size if element was
written.
2002-04-11 17:32:10 +00:00
Alexandre Julliard ad16fc9e3b Avoid crash when trying to attach to a terminating process. 2002-04-06 00:03:33 +00:00
Martin Wilck 2b47fb3cee - separate cleanly between async scheduling and file IO related issues.
- make the API compatible with other types of async requests (e.g. for
  sockets).
- remove exports of async IO related functions for DLL separation.
2002-04-05 22:53:57 +00:00
Alexandre Julliard f5e0f0c60a Added timer on server exit to wait a bit for new clients.
Don't remove the socket until the registry is closed to avoid a race.
2002-04-03 22:51:18 +00:00
François Gouget f6662576e3 Don't suspend a terminated thread. 2002-04-02 02:53:45 +00:00
Alexandre Julliard 4705b8a60e Avoid crash when trying to attach to a terminating process. 2002-04-02 02:50:24 +00:00
Chris Morgan 417296c4af Implement OpenThread() winapi call.
Implement a few pthreads functions.
2002-04-02 00:49:05 +00:00
Francois Gouget 0763abf115 Fix warnings for Linux, FreeBSD and Solaris. 2002-04-01 21:08:16 +00:00
Alexandre Julliard 6543a6522a Transfer the full process startup info as well as the command-line
through the server.
2002-03-29 18:28:56 +00:00
Alexandre Julliard 81f2a7307b Send message for WSAAsyncSelect sockets directly from the server,
instead of using the service thread. Finished separation of ws2_32.
2002-03-23 20:43:52 +00:00
Alexandre Julliard 15979fda75 Fixed handling of timer callback routines when the thread owning the
callback terminates.
2002-03-23 18:50:04 +00:00
Alexandre Julliard aeb566052f Correctly fill parent pid, module size and module name in process and
module snapshots. Based on patches by Eric Pouech and Andreas Mohr.
2002-03-22 00:21:23 +00:00
Mike McCormack fc93261150 Begin to make wine an SMB client. 2002-03-12 19:24:04 +00:00
Mike McCormack 32521abd4b Finish any pending WaitCommEvents if the event mask is set to 0. 2002-03-12 19:19:57 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard 3c4538c8db Reimplemented DebugBreakProcess. 2002-02-27 01:55:02 +00:00
Eric Pouech fbccb38e18 New XP debugging APIs: implemented DebugActiveProcessStop,
DebugSetProcessKillOnExit, DebugBreakProcess.
2002-02-27 01:28:30 +00:00
Rein Klazes 7e105b49c4 Allow integer atoms in set_property and remove_property. Needed by
FindText common dialog.
2002-01-31 23:34:18 +00:00
Alexandre Julliard 86e5efb6b3 Work around ftruncate implementations that don't support extending
files.
2002-01-29 02:51:12 +00:00
Eric Pouech 0faceb05fc Implemented interprocess DDE message posting. 2002-01-18 19:22:55 +00:00
Alexandre Julliard 8ba769f45f Check unix_pid again after attach. 2002-01-12 21:16:33 +00:00
Marcus Meissner 93c3faef94 Add refcounting to the thread member of the pipe user. 2002-01-12 21:16:13 +00:00
Martin Wilck aa47705809 Added support for socket flags. 2002-01-09 21:16:24 +00:00
Martin Wilck 88cd32b2d1 More general approach to file descriptor types and flags. 2002-01-09 20:30:51 +00:00
Martin Wilck b1c45b9424 Fixed a bug that caused APCs to be "forgotten". 2002-01-09 19:09:57 +00:00
Martin Wilck 718b1b711b Add server side support for async IO on files.
Use pread/pwrite to read/write from the offset specified in the
overlapped structure.
2002-01-07 21:02:15 +00:00
Eric Pouech a90875686f Fixed color definition (bg and fg were swapped).
Fixed some initialisation issues.
Fixed exit condition when nothing was allocated.
2002-01-02 21:45:47 +00:00
Alexandre Julliard 8ae5761dd0 Fixed string type in named pipe requests. 2001-12-31 22:26:51 +00:00
Alexandre Julliard 839dfda7a9 Save the registry before exiting on a SIGTERM. 2001-12-26 23:11:49 +00:00
Mike McCormack 89bb3abf7d Handle ReadIntervalTimeout=MAXDWORD special case a bit better. 2001-12-21 19:17:33 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Eric Pouech 3940d8a294 Let the console renderer be defined as a thread. 2001-12-04 20:17:43 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Alexandre Julliard e806c97610 Skip queue cleanups if queue has been destroyed already. 2001-11-24 03:44:47 +00:00
Eric Pouech 0b83d4cbc6 New console code based on Win32 windows. 2001-11-23 23:04:58 +00:00
Francois Gouget 5c84fff413 Only include 'sys/user.h' for Linux. Fixes a compilation error on
FreeBSD 5.0.
2001-11-20 18:52:42 +00:00
James Juran 49c779a862 Prevent warnings about labels at end of switch statements when
compiling with gcc-3.x.
2001-11-19 02:24:14 +00:00
Francois Gouget 6e04f591f6 Fix the Solaris and FreeBSD compilation errors introduced by the
recent winsock update.
2001-11-19 02:23:22 +00:00
Alexandre Julliard 47f9821817 Moved WIN_FindWinToRepaint functionality to the server. 2001-11-14 21:28:36 +00:00
Francois Gouget 272023190e Make winsock.h and winsock2.h independent from the Unix headers.
Make them compatible with both the Unix C headers and the MSVCRT
headers.
Ensure compatibility with the Unix headers via the USE_WS_PREFIX
macro.
Add WINE_NOWINSOCK: prevents winsock.h from being included from
windows.h when defined.
Add ws2tcpip.h, move definitions to the right header.
2001-11-14 21:26:23 +00:00
Alexandre Julliard 805bdc53e8 Store the window caption text in the server.
Maintain a paint count separately for each window.
2001-11-13 22:23:48 +00:00
Alexandre Julliard c4be541dfa Avoid ftruncate to work around broken UMSDOS file system. 2001-11-07 20:25:12 +00:00
Mike McCormack 309ed4e1f1 Make ConnectNamedPipe work in overlapped mode. 2001-11-07 20:14:45 +00:00
Bill Medland 9e5af61ed5 Prevent danger of accessing freed memory (theoretical but unlikely
bug).
2001-11-06 22:25:11 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard 4a9c83998c Allow owner to be the desktop window. 2001-11-06 17:54:15 +00:00
Alexandre Julliard ac2e4f1e3d Don't keep main exe and dlls handles open when the file is on
removable media.
2001-10-25 19:52:12 +00:00
Ove Kaaven 708a846a88 Save a disk file's drive type in the server object. 2001-10-24 00:23:25 +00:00
Alexandre Julliard ddc3317b7a Store in the server all the window information accessible with
Get/SetWindowLong.
2001-10-22 19:08:33 +00:00
Alexandre Julliard 516e40e154 Make sure that GetMessagePos and GetMessageTime return sane values
for all messages.
2001-10-17 17:48:49 +00:00
Alexandre Julliard 0d50965a13 Added requests to store window rectangles in the server. 2001-10-16 21:55:37 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Alexandre Julliard 7a2017dd65 Store window properties in the server. Moved property.c to dlls/user. 2001-10-12 19:10:26 +00:00
Alexandre Julliard d8a8c1131d Added atom_t type for atoms to make sure we use the same type
everywhere. Handle MIN_STR_ATOM offset in the server.
2001-10-12 18:45:29 +00:00
Alexandre Julliard 003f02b733 Removed the cleanup_window_queue request. 2001-10-11 20:50:10 +00:00
Alexandre Julliard 844ceb98ba Store window class atom in the server.
Keep unlinked windows on a separate list.
Implemented inter-process FindWindow().
2001-10-09 23:26:40 +00:00
Eric Pouech c73316db5b - fixed copy&paste bug (GENERIC_WRITE instead of GENERIC_READ)
- when getting the type of a handle, it has to be done even if no fd
  is attached to it (console for example)
2001-10-08 20:57:12 +00:00
Mike McCormack 568c67e173 Make serial fd blocking mode depend on FILE_FLAG_OVERLAPPED. 2001-10-08 20:40:57 +00:00
Alexandre Julliard 646d621fec Added get_file_info support to named pipes and sockets to avoid
breaking the get_handle_fd request.
2001-10-05 19:45:45 +00:00
Mike McCormack ff58be5c7f Fetch a handle type in FILE_GetUnixHandle. 2001-10-04 16:18:15 +00:00
Alexandre Julliard 7695d69046 A couple of optimizations to avoid some server calls in WIN_FindWndPtr
and related functions.
2001-09-24 01:19:59 +00:00
Alexandre Julliard 5af055d8df Avoid list corruption when linking window with HWND_BOTTOM (thanks to
Gerard Patel).
2001-09-24 01:13:48 +00:00
Alexandre Julliard a09da0cbbd Added proper support for storing window parents in the server.
Added a few requests to query the window hierarchy.
2001-09-21 21:08:40 +00:00
Alexandre Julliard bc878ef4d9 Convert user handles received from client to full handles. 2001-09-12 17:09:24 +00:00
Alexandre Julliard 1a66d226eb Added global management of user handles in the server.
Very preliminary support for shared window handles.
2001-08-28 18:44:52 +00:00
Mike McCormack f2e7ce7f6a Implemented GetNamedPipeInfo. 2001-08-27 19:03:42 +00:00
Francois Gouget 126e6b8175 Rename the regular WS_FD_XXX macros to FD_XXX.
Rename the Wine specific WS_FD_XXX macros to FD_WINE_XXX.
2001-08-24 19:14:56 +00:00
Mike McCormack bf55457f24 Implement WaitNamedPipe and DisconnectNamedPipe.
Add a state for each pipe handle in the server.
Create a socket on when the pipe is opened, not before.
2001-08-23 23:29:20 +00:00
Daniel Walker c86517fcb6 - Fix for nonblocking sockets using WSAEventSelect() (patch from Ove
Kaaven).
- Changed WSAEnumNetworkEvents() so it only returns events that the
  application is looking for.
- Changed sock_poll_event() to interpret a POLLIN event with zero
  bytes waiting to be read as a POLLHUP.
2001-08-23 23:25:33 +00:00
Mike McCormack 05b6618ff3 Unconditionally set O_NONBLOCK when opening. 2001-08-21 17:01:48 +00:00
Alexandre Julliard b8dd37d239 Don't create the WINEPREFIX directory if it doesn't exist. 2001-08-09 21:22:33 +00:00
Andreas Mohr d66130ac9d Don't crash if send_thread_wakeup() fails. 2001-08-07 19:31:43 +00:00
Alexandre Julliard d253c58b1b Rewrote most of SendMessage/PeekMessage.
Implemented inter-process messaging.
Moved most message routines to dlls/user, and split off 16-bit
routines to a separate file.
2001-08-07 19:19:08 +00:00
Bernhard Rosenkraenzer 5dda1f7e2c Set executable permissions when creating .exe/.com files. 2001-07-23 18:09:41 +00:00
Alexandre Julliard 37ec927536 Use the new protocol.def file to build the request structures.
Define protocol structures in a separate server_protocol.h file.
Removed __WINE_SERVER__ checks now that all includes are in the right
directory.
2001-07-19 00:35:37 +00:00
Ove Kaaven 705e7d708b Added STATUS_* constant for named pipes. Return STATUS_PIPE_NOT_AVAILABLE
when opening a named pipe if the pipe exists but no instances of it are
currently waiting for a connection.
2001-07-17 00:38:00 +00:00
Alexandre Julliard 5f258c68f3 Backed out the suspend_process_for_ptrace change.
Fixed a couple of races in ptrace code.
2001-07-14 00:50:30 +00:00
Alexandre Julliard 10109e6083 Removed unused functions suspend/remove_all_threads. 2001-07-12 22:35:20 +00:00
Alexandre Julliard 7614180e2d Small fixes to the debugger support. 2001-07-11 17:30:59 +00:00
Alexandre Julliard e630aa0b68 Merge WM_MOUSEMOVE messages. 2001-07-11 17:29:01 +00:00
Mike McCormack de7c3003e2 Start implementing named pipes. 2001-07-10 19:16:49 +00:00
Alexandre Julliard 9f55ae6f62 - Remove cooked hardware messages when they are dropped (reported by
Gerard Patel).
- Convert all posted 32-bit messages to Unicode before storing them in
  the queue.
- Faster implementation of MSG_IsPointerMessage.
- Moved a couple of functions from queue.c to message.c.
2001-06-28 04:37:22 +00:00
Mike McCormack 585e976f1a Remove truncate debug message printed on successful truncates. 2001-06-22 23:20:36 +00:00
Alexandre Julliard 4b0343dc5f Moved queue paint count to the server. Removed a few no longer used
routines.
2001-06-20 22:55:31 +00:00
Alexandre Julliard 838d65aebe Moved hardware message queue handling to the server. 2001-06-19 19:16:41 +00:00
Alexandre Julliard 4b29d669fc Ignore EAGAIN errors in read_request. 2001-06-19 18:23:13 +00:00
Bill Medland e81bf3f3ce SetFilePointer correction; return ERROR_NEGATIVE_SEEK (broken by the
64 bit file access enhancement).
2001-06-19 03:30:53 +00:00
Marcus Meissner 6bb990f7fd Drop any file64 functions, try to use system supplied 64-bit mode by
using proper defines.
2001-05-29 20:55:21 +00:00
Gerard Patel 63b1d175b3 Take message filters into account for WM_PAINT too. 2001-05-21 18:33:56 +00:00
Eric Pouech 476c2b4cc3 Fixed reply_message when there is no received message. 2001-05-19 17:38:21 +00:00
Alexandre Julliard 9be457dd3b Fixed typo in message filter check. 2001-05-18 23:22:12 +00:00
Alexandre Julliard 51ab43bd13 Moved the major part of message queue and window timer handling into
the server.
Implemented MsgWaitForMultipleObjectsEx.
2001-05-18 22:51:56 +00:00
Marcus Meissner 3f1ed52d8b Implemented 64bit file size handling.
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
Bang Jun-Young 18bf392b41 Added support for NetBSD. 2001-05-09 19:44:47 +00:00
Ove Kaaven ada7383852 Preserve the TF (Trap Flag) when continuing from a ptraced suspend. 2001-04-27 18:39:47 +00:00
Alexandre Julliard 84fdfd087a Repaired shared PE data sections. 2001-04-13 22:38:39 +00:00
Alexandre Julliard 21044c6319 Fixed handling of \\Registry prefix. 2001-04-10 21:18:17 +00:00
Alexandre Julliard 09cc91d1a8 Make sure the process socket is non-blocking.
Don't fail if nothing ready on recvmsg for a file descriptor.
2001-04-04 00:11:13 +00:00
Michael McCormack 1c32a46d5a Use poll() on the client-side during server waits to implement
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard a5a872efca Use the new send_fd mechanism for the set_console_fd server request. 2001-03-22 19:35:27 +00:00
Jeff Garzik 3ea0c073f8 Warning fixes. 2001-03-21 20:31:26 +00:00
Jeff Garzik f46eb1db43 Added some inclusions of string.h where necessary. 2001-03-21 20:30:46 +00:00
Mike McCormack 147ddfefcb Removed broken support for EV_TXEMPTY because it causes busy loops. 2001-03-14 17:25:52 +00:00
Mike McCormack 7526540e03 Add missing release object so server exits cleanly. 2001-03-14 17:25:26 +00:00
Alexandre Julliard e5dedb1906 Added support for nested server waits (to allow waiting in signal
handlers).
2001-03-08 01:16:41 +00:00
Alexandre Julliard 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +00:00
Alexandre Julliard 8859d77279 Create the server pipes on the client side and transfer them to the
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard f52424055f New mechanism to transfer file descriptors from client to server. 2001-02-28 21:45:23 +00:00
Alexandre Julliard 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard d90e964cee Added separate server pipe to wait on blocking server calls.
Send the complete request/reply through the request fifo instead of
just a dummy byte.
Convert error status to text in server reply tracing.
2001-02-21 04:21:50 +00:00
Alexandre Julliard 5f195f8c01 Small server protocol cleanups. 2001-02-20 23:45:07 +00:00
Alexandre Julliard a4bc5a2138 Pass the stdin/stdout handles on startup to use as console (based on a
patch by Eric Pouech).
2001-02-16 19:08:19 +00:00
Alexandre Julliard e939eae00b Made exception_event_request non-blocking, and added
get_exception_status to retrieve the exception result returned by the
debugger.
2001-01-26 20:45:41 +00:00
Alexandre Julliard e9936d96e1 Changed wait_process and wait_debug_event requests to never block;
waiting is always done through WaitForSingleObject().
2001-01-26 00:22:26 +00:00
Andreas Mohr 22c80a2e9a Workaround for SuSE 7 2.2.16 kernel bug. 2001-01-12 23:02:39 +00:00
Josh DuBois 558b66077f Added a simple usage() function. 2001-01-11 22:28:35 +00:00
Mike McCormack 21ea8a9107 Calculate the timeout time once when the async is created. 2001-01-07 21:46:17 +00:00
Alexandre Julliard 2362380b64 Added separate queue for "system" APCs that get called even when the
thread is not in an alertable state.
Specify the select_request timeout as absolute value so that we can
restart the request when interrupted.
2001-01-06 01:48:51 +00:00
Alexandre Julliard ad29b90d08 Send the exe file handle in init_process_done request. 2001-01-05 22:24:15 +00:00
Alexandre Julliard 8081e5a1e5 Added handle_t type to server interface so that we can make handles
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard 7f74824d9f Fixed error recovery during thread creation. 2000-12-26 00:30:30 +00:00
Alexandre Julliard 63411dbde5 Avoid dup'ing file descriptors when not necessary.
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +00:00
Alexandre Julliard d549f6909e Use a separate FIFO pair for server requests that don't need to pass a
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard 1ab243bac1 Merged the get_read_fd and get_write_fd requests. 2000-12-19 02:12:45 +00:00
François Gouget ecae926945 Needs to include windef.h. 2000-12-15 21:30:35 +00:00
Alexandre Julliard 0b6a79c961 Converted enum_key_value request to the new request mechanism. 2000-12-15 20:57:00 +00:00
Martin Pilka 0c86432ea5 Changed the condition so it also works in case when sscanf returns EOF. 2000-12-12 00:34:44 +00:00
Alexandre Julliard e2222fd8ff Use libwine and libwine_unicode directly from their build directory
instead of using symlinks.
2000-12-06 00:05:14 +00:00
Andreas Mohr 1c99af4a7a Check the attributes of the *current* section, not only the attributes
of the *first* section...
2000-12-03 04:02:09 +00:00
Patrik Stridvall 7a4e599780 Fixed some issues found by winapi_check. 2000-12-01 23:53:46 +00:00
Dimitrie O. Paun 2af03e45b5 Do not include sys/ptrace.h and sys/user.h unconditionally.
Other portability fixes.
2000-11-29 20:04:09 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Mike McCormack 1eac1911c7 - created server object for handling async i/o
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +00:00
Joerg Mayer abe635cfd7 Get rid of some warnings about unused variables, signed/unsigned
comparisons and incomplete initializations.
2000-11-11 00:38:37 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Joerg Mayer 650ba4df23 Move inline and static to the beginning of declarations. 2000-10-29 18:06:04 +00:00
Federico Schwindt a5b696b6b4 Fixes for OpenBSD. 2000-10-28 00:32:08 +00:00
Kristoffer Gleditsch d2e2bb240a Added LDFLAGS to linking of wine-related binaries. 2000-10-25 21:36:54 +00:00
Patrik Stridvall a9f6a9daec Explicitly initialize structures. 2000-10-24 02:22:16 +00:00
Joerg Mayer 959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Gerald Pfeifer 1f0123649f Add appropriate casts to caddr_t for the third parameter of ptrace(). 2000-10-17 00:25:59 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Stephane Lussier 21b099f082 After accept is called on the socket, the listening socket needs to be
reselected.
2000-10-13 17:04:52 +00:00
Alexandre Julliard 454355ece1 Convert NtQueryKey and NtEnumerateKey to the new request mechanism.
Fixed a few bugs.
2000-10-02 03:46:58 +00:00
Alexandre Julliard bcf393a5e5 Converted some of the registry server requests to the new request
mechanism.
2000-10-01 01:44:50 +00:00
Stephane Lussier 0d5f1ab2d9 Socket returned by accept function of Microsoft API should keep the
properties of the listening socket. This is also true for non-blocking
property.
2000-09-27 22:27:33 +00:00
Andreas Mohr c941effc24 Make GetTickCount not use the whole Unix epoch (since 1970) any more,
since that crashed several games or caused problems with them as they
aren't used to a high Windows uptime of more than 24.9 days.
2000-09-22 22:37:56 +00:00
Mike McCormack 654fcc721b Implemented SetCommMask, SetCommTimeouts, GetCommMask, GetCommTimeouts. 2000-09-16 20:55:12 +00:00
Mike McCormack 44b5bf5998 Added serial port object to the server. 2000-09-07 18:39:51 +00:00
Ove Kaaven 7a0f96c908 Adapted Winsock to Linux 2.4 TCP socket poll() behaviour
(thanks to Berend Ozceri for finding the problem).
2000-09-06 19:40:23 +00:00
Alexandre Julliard 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard 8611353053 Added the data structures and macros that will be needed to support
reentrant server requests.
2000-08-29 03:54:30 +00:00
Albert den Haan 1c79bbb13d Fixed typo in HKEY_CURRENT_CONFIG name. 2000-08-28 19:30:43 +00:00
Alexandre Julliard 6c8d9171cd Added a real root key and simplified creation of the HKEY_* special root keys.
Do not prefix all keys with the name of the top key when saving to a file.
Try to load $WINEPREFIX/config into the Wine config branch at startup.
2000-08-26 04:40:07 +00:00
Alexandre Julliard ea1afcef49 Added APC support in waitable timers. 2000-08-22 20:08:37 +00:00
Alexandre Julliard c19e1a7e19 Implemented SEC_IMAGE mappings and shared PE sections (with the help
of Peter Ganten).
2000-08-14 20:20:01 +00:00
Alexandre Julliard c10c9ef4f1 Made server startup more robust against races caused by a previous
server terminating at the same time.
2000-08-11 21:16:53 +00:00
Hidenori Takeshima 66791afa8f Fix for 64-bit negative seek value. 2000-07-31 23:26:50 +00:00
Alexandre Julliard 7e495e1d66 Make unicode.o into a separate ELF library so that we can use it from
the wineserver too.
2000-07-25 21:01:59 +00:00
Stephane Lussier 56adb25f7d In set_socket_event, the event should be signaled if there's a pending
network event corresponding to the events the application wanted to be
notified.
2000-07-16 18:14:01 +00:00
Andreas Mohr ed923a57ca More verbose error message. 2000-06-15 00:32:13 +00:00
Alexandre Julliard 2f158c2678 Removed @PROGEXT@ (it was broken anyway).
Improved 'make install'.
Cleaned up the main Makefile.
2000-06-14 21:45:38 +00:00
Alexandre Julliard a37dec0c7e Pass the main exe name in the CREATE_PROCESS debug event. 2000-06-08 00:57:24 +00:00
Ulrich Weigand afd6a4b810 Updated support for Solaris/Sparc architecture. 2000-06-04 01:48:05 +00:00
Turchanov Sergei 43a27e3696 Implemented local atoms in the server. 2000-05-30 20:32:06 +00:00
Alexandre Julliard c5e433a3a6 Moved idle event handling to the server. 2000-05-30 19:48:18 +00:00
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00
Alexandre Julliard a01004d828 Added support for registry values larger than the server buffer.
When loading a registry file, automatically determine overlap between
key name and file contents based on the first key name.
Removed v1 saving code.
Save USER\.Default separately into ~/.wine/userdef.reg.
2000-05-14 22:57:57 +00:00
Alexandre Julliard d27624be16 Store process file name in startup info.
Fixed exe_file handling.
2000-05-03 18:42:40 +00:00
Alexandre Julliard f818d42fae Fixed COORD structure definition.
Fixed GetLargestConsoleWindowSize to not return a structure when
called from the Window binary.
2000-05-03 17:48:21 +00:00
Alexandre Julliard ba3e2abc99 Small optimization. 2000-05-03 17:45:34 +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