﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
82	Make SEH work in OS/2 context	dmik		"The current implementation of SEH ({{{__try/__except}}}) requires Odin to force the Win32 TIB switch mode in which the FS register points to the Win32 thread information block instead of the OS/2 one.

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 {{{__try/__except}}} but also accesses FS directly, it can always be tailored with #ifdef (we can access the Win32 TIB with GetThreadTEB() regardless of the real FS value).

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)."	enhancement	closed	major	0.8.5	odin	0.8.4	medium	fixed		
