@@ -1146,7 +1146,7 @@ typedef struct os_ipc_data_t {
1146
1146
int fd ;
1147
1147
size_t fd_offset ;
1148
1148
size_t size ;
1149
- char shm_name [NAME_MAX ]; // optional - can be used or not (see below)
1149
+ char shm_name [NAME_MAX ]; // optional
1150
1150
} os_ipc_data_t ;
1151
1151
1152
1152
static umf_result_t os_get_ipc_handle_size (void * provider , size_t * size ) {
@@ -1160,13 +1160,9 @@ static umf_result_t os_get_ipc_handle_size(void *provider, size_t *size) {
1160
1160
return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
1161
1161
}
1162
1162
1163
- if (os_provider -> shm_name [0 ]) {
1164
- // os_ipc_data_t->shm_name will be used
1165
- * size = sizeof (os_ipc_data_t );
1166
- } else {
1167
- // os_ipc_data_t->shm_name will NOT be used
1168
- * size = sizeof (os_ipc_data_t ) - NAME_MAX ;
1169
- }
1163
+ // for simplicity, always return size of the full structure even if we
1164
+ // don't use named shared memory object
1165
+ * size = sizeof (os_ipc_data_t );
1170
1166
1171
1167
return UMF_RESULT_SUCCESS ;
1172
1168
}
@@ -1251,14 +1247,14 @@ static umf_result_t os_open_ipc_handle(void *provider, void *providerIpcData,
1251
1247
umf_result_t ret = UMF_RESULT_SUCCESS ;
1252
1248
int fd ;
1253
1249
1254
- if (os_provider -> shm_name [0 ]) {
1255
- fd = utils_shm_open (os_provider -> shm_name );
1250
+ if (os_ipc_data -> shm_name [0 ]) {
1251
+ fd = utils_shm_open (os_ipc_data -> shm_name );
1256
1252
if (fd <= 0 ) {
1257
1253
LOG_PERR ("opening a shared memory file (%s) failed" ,
1258
- os_provider -> shm_name );
1254
+ os_ipc_data -> shm_name );
1259
1255
return UMF_RESULT_ERROR_UNKNOWN ;
1260
1256
}
1261
- (void )utils_shm_unlink (os_provider -> shm_name );
1257
+ (void )utils_shm_unlink (os_ipc_data -> shm_name );
1262
1258
} else {
1263
1259
umf_result_t umf_result =
1264
1260
utils_duplicate_fd (os_ipc_data -> pid , os_ipc_data -> fd , & fd );
0 commit comments