Mon 14 Oct 23:09:15 CEST 2024
This commit is contained in:
		
							parent
							
								
									33e37fb872
								
							
						
					
					
						commit
						88243e9dec
					
				
							
								
								
									
										27
									
								
								user/test/pipetest.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								user/test/pipetest.c
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | ||||||
|  | #include "library/syscalls.h" | ||||||
|  | #include "library/user-io.h" | ||||||
|  | #include "library/string.h" | ||||||
|  | 
 | ||||||
|  | int main(int argc, char *argv[]) | ||||||
|  | { | ||||||
|  | 	printf("%d: Running pipe test!\n", syscall_process_self()); | ||||||
|  | 	int w = syscall_open_pipe(); | ||||||
|  | 	syscall_object_set_blocking(w, 0); | ||||||
|  | 	int x = syscall_process_fork(); | ||||||
|  | 	if(x) { | ||||||
|  | 		printf("%d: Writing...\n", syscall_process_self()); | ||||||
|  | 		syscall_object_dup(w, KNO_STDOUT); | ||||||
|  | 		printf("Testing!\n"); | ||||||
|  | 		syscall_process_sleep(1000); | ||||||
|  | 	} else { | ||||||
|  | 		printf("%d: Reading...\n", syscall_process_self()); | ||||||
|  | 		int r; | ||||||
|  | 		char buf[10]; | ||||||
|  | 		while(!(r = syscall_object_read(w, buf, 10))) { | ||||||
|  | 			syscall_process_yield(); | ||||||
|  | 		} | ||||||
|  | 		printf("%d: I read %d chars from my brother\n", syscall_process_self(), r); | ||||||
|  | 		printf("%d: They are (%s)\n", syscall_process_self(), buf); | ||||||
|  | 	} | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user