Commit Graph

551 Commits

Author SHA1 Message Date
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