ext/fast_mmaped_file/mmap.h in prometheus-client-mmap-0.7.0.beta45.9 vs ext/fast_mmaped_file/mmap.h in prometheus-client-mmap-0.7.0.beta45.10

- old
+ new

@@ -26,24 +26,25 @@ int advice, flag; VALUE key; int semid, shmid; size_t len, real; off_t offset; + int fd; char *path, *template; } mm_mmap; typedef struct { int count; mm_mmap *t; } mm_ipc; -#define GET_MMAP(obj, i_mm, t_modify) \ - Data_Get_Struct(obj, mm_ipc, i_mm); \ - if (!i_mm->t->path || i_mm->t->addr == 0 || i_mm->t->addr == MAP_FAILED) { \ - rb_raise(rb_eIOError, "unmapped file"); \ - } \ - if ((t_modify & MM_MODIFY) && (i_mm->t->flag & MM_FROZEN)) { \ - rb_error_frozen("mmap"); \ +#define GET_MMAP(obj, i_mm, t_modify) \ + Data_Get_Struct(obj, mm_ipc, i_mm); \ + if (!i_mm->t->path || i_mm->t->fd == 0 || i_mm->t->addr == NULL || i_mm->t->addr == MAP_FAILED) { \ + rb_raise(rb_eIOError, "unmapped file"); \ + } \ + if ((t_modify & MM_MODIFY) && (i_mm->t->flag & MM_FROZEN)) { \ + rb_error_frozen("mmap"); \ } VALUE mm_s_alloc(VALUE obj); VALUE mm_s_new(int argc, VALUE *argv, VALUE obj); VALUE mm_init(VALUE obj, VALUE fname);