Charles Davis wrote:
+int suspend_thread( struct thread *thread ); +int resume_thread( struct thread *thread );
+static void complete_open( struct open_call *open, unsigned int status ) +{
...
...
Looks like a hack to me. You shouldn't be suspending/resuming threads directly like this. They should block on open operation.
Vitaliy.
Vitaliy Margolen wrote:
I figured that. At the time, though, I thought that this was the path of least resistance, but I wasn't sure.
I guess now I should make open_file_object return STATUS_PENDING, then make FILE_CreateFile() wait until some object is signaled. (This is the way we do IOCTLs.) I'll send a patch shortly for this.
Chip