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
Patrik Stridvall
e29dbc5814
Fixed some warnings.
2000-04-24 18:04:24 +00:00
Alexandre Julliard
27d31a5d43
Removed permission checks in create_key and delete_key. It seems
...
Windows doesn't check anything.
2000-04-16 20:28:42 +00:00
Alexandre Julliard
07d8446918
Implemented thread and (partial) module snapshots, based on the work
...
of Andreas Mohr <amohr@student.ei.uni-stuttgart.de>.
2000-04-16 19:45:05 +00:00
Alexandre Julliard
c970904c2c
Save the registry on server exit without client intervention.
...
Removed "alt" registry files since we now have symlinks and
WINEPREFIX to replace them.
2000-04-16 17:21:13 +00:00
Alexandre Julliard
d804111dc5
Made server launching somewhat cleaner and faster.
2000-04-14 14:42:41 +00:00