@@ -22,6 +22,14 @@ const char *store_socket_name = "/tmp/store12345";
2222const char * manager_socket_name = "/tmp/manager12345" ;
2323object_id oid ;
2424
25+ void wait_for_pollin (int fd ) {
26+ struct pollfd poll_list [1 ];
27+ poll_list [0 ].fd = fd ;
28+ poll_list [0 ].events = POLLIN ;
29+ int retval = poll (poll_list , (unsigned long ) 1 , -1 );
30+ CHECK (retval > 0 );
31+ }
32+
2533int test_done_handler (event_loop * loop , timer_id id , void * context ) {
2634 event_loop_stop (loop );
2735 return AE_NOMORE ;
@@ -60,6 +68,7 @@ plasma_mock *init_plasma_mock(int port, plasma_mock *remote_mock) {
6068 if (remote_mock != NULL ) {
6169 mock -> write_conn =
6270 get_manager_connection (remote_mock -> state , manager_addr , port );
71+ wait_for_pollin (mock -> manager_remote_fd );
6372 mock -> read_conn = new_client_connection (mock -> loop , mock -> manager_remote_fd ,
6473 mock -> state , 0 );
6574 } else {
@@ -69,6 +78,7 @@ plasma_mock *init_plasma_mock(int port, plasma_mock *remote_mock) {
6978 /* Connect a new client to the local plasma manager and mock a request to an
7079 * object. */
7180 mock -> plasma_conn = plasma_connect (store_socket_name , manager_socket_name );
81+ wait_for_pollin (mock -> manager_local_fd );
7282 mock -> client_conn =
7383 new_client_connection (mock -> loop , mock -> manager_local_fd , mock -> state , 0 );
7484 return mock ;
@@ -230,11 +240,7 @@ TEST read_write_object_chunk_test(void) {
230240 */
231241 write_object_chunk (remote_mock -> write_conn , & remote_buf );
232242 /* Wait until the data is ready to be read. */
233- struct pollfd poll_list [1 ];
234- poll_list [0 ].fd = get_client_sock (remote_mock -> read_conn );
235- poll_list [0 ].events = POLLIN ;
236- int retval = poll (poll_list , (unsigned long ) 1 , -1 );
237- ASSERT (retval > 0 );
243+ wait_for_pollin (get_client_sock (remote_mock -> read_conn ));
238244 /* Read the data. */
239245 int done = read_object_chunk (remote_mock -> read_conn , & local_buf );
240246 ASSERT (done );
0 commit comments