From: Vladimir T. <vtz...@gm...> - 2009-07-28 19:53:39
|
Sam, There are several problems in calls.c. In FILE-STAT begin/end_blocking_system_call() are not balanced (i fixed it but have not committed since there are more issues). What is the relation between ON_PNAMESTRING and value1? In MT builds ON_PNAMESTRING is always maygc (begin/end_blocking_system_call() allow GC). On several places it is used and value1 is expected to be some kind of return value but it's not (stat(), lstat(), ...). Vladimir |
From: Sam S. <sd...@gn...> - 2009-07-28 21:01:06
|
Vladimir Thanks, I think I fixed these issues now. Sam. |
From: Vladimir T. <vtz...@gm...> - 2009-07-28 21:20:47
|
On 7/29/09, Sam Steingold <sd...@gn...> wrote: > Thanks, I think I fixed these issues now. The same issue is present in STAT-VFS. btw: as line saver - following: begin_blocking_system_call(); error_p = statement; end_blocking_system_call(); is equivalent to: GC_SAFE_SYSTEM_CALL(error_p=, statement); Also in STAT-FILE: if (ON_PNAMESTRING(STACK_1,*(link_p ? &stat : &lstat),&buf)) OS_file_error(value1); file = value1; After ON_PNAMESTRING() - value1 may not be valid (what value it is supposed to have anyway?). If you build with g++ it will abort on it immediately. Vladimir |
From: Sam S. <sd...@gn...> - 2009-07-29 03:42:34
|
> * Vladimir Tzankov <igmnaxbi@tznvy.pbz> [2009-07-29 00:20:31 +0300]: > > Also in STAT-FILE: > if (ON_PNAMESTRING(STACK_1,*(link_p ? &stat : &lstat),&buf)) > OS_file_error(value1); > file = value1; on_pnamestring doc: < value1: the physical namestring of path (for error reporting) > After ON_PNAMESTRING() - value1 may not be valid (what value it is > supposed to have anyway?). If you build with g++ it will abort on it > immediately. I think I fixed that too. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 9.04 (jaunty) http://memri.org http://honestreporting.com http://iris.org.il http://truepeace.org http://www.PetitionOnline.com/tap12009/ Who is General Failure and why is he reading my hard disk? |