Custom Query (80 matches)
Results (49 - 51 of 80)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#82 | fixed | Make SEH work in OS/2 context | ||
Description |
The current implementation of SEH (
This mode is the default in Odin if it runs a Win32 binary as this is what the binary expects and needs. But in cases when we build Win32 apps from sources there is actually no sense in maintaining this FS context switch from OS/2 to Win32 and back. Even if the Win32 application not only uses Switching FS may even be dangerous in some cases and this especially relates to situations when Win32 code calls OS/2 code and vice versa: the called party may not expect a wrong context (if e.g. it does its own exception handling since this is what FS is used mostly for). In either case, maintaining the context switch is error-prone per se due its complexity (you may look at e.g. sehutil.s to see it). |
|||
#83 | fixed | Disable context switches | ||
Description |
I have a guess that if we build a Win32 application from sources, we don't need to switch the FS register from the OS/2 TIB to the Win32 TIB and back. This is a continuation of the idea from #82 (which already eliminates the need to do this FS switch in order for SEH to work). If we can get rid of this switch completely, we will get save ourselves from having a milky-way of function wrappers used to call OS/2 functions from the Win32 context (and the other way around). Getting rid of something is always good as it reduces chaos. |
|||
#90 | fixed | Implement proper console I/O for SDK mode | ||
Description |
When using Odin in SDK mode, the console I/O is not done properly. This means that STDIN/STDOUT handles are implemented using a very restricted set of functions (HMDeviceStandardClass) which only implements reading and writing (regardless of if the handles are the real console or redirected to files etc). As a result things like GetNumberOfConsoleInputEvents?() and PeekConsoleInput?() don't work in real console mode (although the code implementing them is present in classes HMDeviceConsoleInClass and HMDeviceConsoleOutClass). And things like SetFilePointer?() don't work in redirected mode (although the HMDeviceFile class implements them properly). Due to these defects, the console I/O got partially broken after r22024 (which fixed a lot of inconsistencies in return codes). In particular, this affects Java which will throw an exception if you e.g. attempt to read something from STDIN. |