@@ -288,37 +288,33 @@ static void KVWorkerMain(int argc, char *argv[]) {
288288
289289 FuncName func ;
290290 memcpy (& func , ptr -> area , sizeof (FuncName ));
291- uint32 response_index ;
292- memcpy (& response_index ,
293- ptr -> area + sizeof (FuncName ),
294- sizeof (response_index ));
291+ uint32 responseId ;
292+ memcpy (& responseId , ptr -> area + sizeof (FuncName ), sizeof (responseId ));
295293
296294 memset (buf , 0 , BUFSIZE );
297- memcpy (buf ,
298- ptr -> area + sizeof (FuncName ) + sizeof (response_index ),
299- BUFSIZE - sizeof (FuncName ) - sizeof (response_index ));
295+ memcpy (buf , ptr -> area + sizeof (FuncName ), BUFSIZE - sizeof (FuncName ));
300296 SemPost (& ptr -> full , __func__ );
301297
302298 if (func == TERMINATE ) {
303- SemPost (& ptr -> responseSync [response_index ], __func__ );
299+ SemPost (& ptr -> responseSync [responseId ], __func__ );
304300 break ;
305301 }
306302
307303 switch (func ) {
308304 case OPEN :
309- OpenResponse (buf );
305+ OpenResponse (buf + sizeof ( responseId ) );
310306 break ;
311307 case CLOSE :
312- CloseResponse (buf );
308+ CloseResponse (buf + sizeof ( responseId ) );
313309 break ;
314310 case COUNT :
315311 CountResponse (buf );
316312 break ;
317313 case GETITER :
318- GetIterResponse (buf );
314+ GetIterResponse (buf + sizeof ( responseId ) );
319315 break ;
320316 case DELITER :
321- DelIterResponse (buf );
317+ DelIterResponse (buf + sizeof ( responseId ) );
322318 break ;
323319 case NEXT :
324320 NextResponse (buf );
@@ -327,16 +323,16 @@ static void KVWorkerMain(int argc, char *argv[]) {
327323 GetResponse (buf );
328324 break ;
329325 case PUT :
330- PutResponse (buf );
326+ PutResponse (buf + sizeof ( responseId ) );
331327 break ;
332328 case DELETE :
333- DeleteResponse (buf );
329+ DeleteResponse (buf + sizeof ( responseId ) );
334330 break ;
335331 default :
336332 ereport (ERROR , (errmsg ("%s failed in switch" , __func__ )));
337333 }
338334
339- SemPost (& ptr -> responseSync [response_index ], __func__ );
335+ SemPost (& ptr -> responseSync [responseId ], __func__ );
340336 } while (true);
341337
342338 HASH_SEQ_STATUS status ;
0 commit comments