 cef94e096e
			
		
	
	
		cef94e096e
		
	
	
	
	
		
			
			m_out is shared between threads as the reply message, and it can happen results get overwritten by another thread before the reply is sent. This change . makes m_out local to the message handling function, declared on the stack of the caller . forces callers of reply() to give it a message, or declare the reply message has no significant fields except for the return code by calling replycode() Change-Id: Id06300083a63c72c00f34f86a5c7d96e4bbdf9f6
		
			
				
	
	
		
			22 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* This file is the counterpart of "read.c".  It contains the code for writing
 | |
|  * insofar as this is not contained in read_write().
 | |
|  *
 | |
|  * The entry points into this file are
 | |
|  *   do_write:     call read_write to perform the WRITE system call
 | |
|  */
 | |
| 
 | |
| #include "fs.h"
 | |
| #include "file.h"
 | |
| #include "param.h"
 | |
| 
 | |
| 
 | |
| /*===========================================================================*
 | |
|  *				do_write				     *
 | |
|  *===========================================================================*/
 | |
| int do_write(message *UNUSED(m_out))
 | |
| {
 | |
| /* Perform the write(fd, buffer, nbytes) system call. */
 | |
|   return(do_read_write_peek(WRITING, job_m_in.fd,
 | |
|   	job_m_in.buffer, (size_t) job_m_in.nbytes));
 | |
| }
 |