Skip to content

Commit

Permalink
fix: namespace of shmem error enum
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter-Barrow committed Sep 11, 2024
1 parent c452d34 commit d09b872
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 53 deletions.
24 changes: 12 additions & 12 deletions tangy_src/_tangy.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ cdef extern from "./src/shared_memory.c":
ctypedef int fd_t

ctypedef enum shmem_error:
OK,
MAP_CREATE,
HANDLE_TO_FD,
FD_TO_HANDLE,
MEMORY_MAPPING,
FTRUNCATE,
MAP,
STAT,
FSTAT,
UNMAP,
FD_CLOSE,
UNLINK,
SM_OK,
SM_MAP_CREATE,
SM_HANDLE_TO_FD,
SM_FD_TO_HANDLE,
SM_MEMORY_MAPPING,
SM_FTRUNCATE,
SM_MAP,
SM_STAT,
SM_FSTAT,
SM_UNMAP,
SM_FD_CLOSE,
SM_UNLINK,

ctypedef struct shmem_result:
bint Ok
Expand Down
22 changes: 11 additions & 11 deletions tangy_src/_tangy.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,47 +216,47 @@ class delay_result:

@cython.cfunc
def raise_shmem_error(result: _tangy.shmem_result):
if result.Error == _tangy.shmem_error.MAP_CREATE:
if result.Error == _tangy.shmem_error.SM_MAP_CREATE:
if result.Std_Error != 0:
raise OSError(result.Std_Error)
raise RuntimeError("Failed to create map")

if result.Error == _tangy.shmem_error.HANDLE_TO_FD:
if result.Error == _tangy.shmem_error.SM_HANDLE_TO_FD:
raise RuntimeError("Could not convert handle to file descriptor")

if result.Error == _tangy.shmem_error.FD_TO_HANDLE:
if result.Error == _tangy.shmem_error.SM_FD_TO_HANDLE:
raise RuntimeError("Could not convert file descriptor to handle")

if result.Error == _tangy.shmem_error.MEMORY_MAPPING:
if result.Error == _tangy.shmem_error.SM_MEMORY_MAPPING:
if result.Std_Error != 0:
raise OSError(result.Std_Error)
raise RuntimeError("Memory failed failed")

if result.Error == _tangy.shmem_error.FTRUNCATE:
if result.Error == _tangy.shmem_error.SM_FTRUNCATE:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.MAP:
if result.Error == _tangy.shmem_error.SM_MAP:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.STAT:
if result.Error == _tangy.shmem_error.SM_STAT:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.FSTAT:
if result.Error == _tangy.shmem_error.SM_FSTAT:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.UNMAP:
if result.Error == _tangy.shmem_error.SM_UNMAP:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.FD_CLOSE:
if result.Error == _tangy.shmem_error.SM_FD_CLOSE:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

if result.Error == _tangy.shmem_error.UNLINK:
if result.Error == _tangy.shmem_error.SM_UNLINK:
if result.Std_Error != 0:
raise OSError(result.Std_Error)

Expand Down
36 changes: 18 additions & 18 deletions tangy_src/src/shared_memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@ shmem_create(u64 map_size, char* name) {
fd_t fd = shm_open(name, O_RDWR | O_CREAT | O_EXCL, 0777);

if (-1 == fd) {
result.Error = MAP_CREATE;
result.Error = SM_MAP_CREATE;
result.Std_Error = errno;
return result;
}

int ft = ftruncate(fd, map_size);
if (-1 == ft) {
result.Error = FTRUNCATE;
result.Error = SM_FTRUNCATE;
result.Std_Error = errno;
return result;
}

char* ptr = mmap(NULL, map_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

if (-1 == *ptr) {
result.Error = MAP;
result.Error = SM_MAP;
result.Std_Error = errno;
return result;
}
Expand All @@ -45,21 +45,21 @@ shmem_create(u64 map_size, char* name) {
name);

if (INVALID_HANDLE_VALUE == handle) {
result.Error = MAP_CREATE;
result.Error = SM_MAP_CREATE;
return result;
}

int fd = _open_osfhandle((intptr_t)handle, 0);
if (-1 == fd) {
result.Error = HANDLE_TO_FD;
result.Error = SM_HANDLE_TO_FD;
return result;
}

char* ptr =
MapViewOfFile(handle, FILE_MAP_ALL_ACCESS, 0, 0, win_int64.QuadPart);

if (-1 == *ptr) {
result.Error = MEMORY_MAPPING;
result.Error = SM_MEMORY_MAPPING;
return result;
}

Expand Down Expand Up @@ -87,15 +87,15 @@ shmem_connect(char* name) {
fd_t fd = shm_open(name, O_RDWR, 0777);

if (-1 == fd) {
result.Error = MAP_CREATE;
result.Error = SM_MAP_CREATE;
result.Std_Error = errno;
return result;
}

struct stat file_status;

if (-1 == fstat(fd, &file_status)) {
result.Error = STAT;
result.Error = SM_STAT;
result.Std_Error = errno;
return result;
}
Expand All @@ -104,7 +104,7 @@ shmem_connect(char* name) {
NULL, file_status.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

if (-1 == *ptr) {
result.Error = MAP;
result.Error = SM_MAP;
result.Std_Error = errno;
return result;
}
Expand All @@ -114,20 +114,20 @@ shmem_connect(char* name) {
HANDLE handle = OpenFileMapping(FILE_MAP_WRITE, FALSE, name);

if (INVALID_HANDLE_VALUE == handle) {
result.Error = MAP_CREATE;
result.Error = SM_MAP_CREATE;
return result;
}

int fd = _open_osfhandle((intptr_t)handle, 0);
if (-1 == fd) {
result.Error = HANDLE_TO_FD;
result.Error = SM_HANDLE_TO_FD;
return result;
}

char* ptr = MapViewOfFile(handle, FILE_MAP_WRITE, 0, 0, 0);

if (-1 == *ptr) {
result.Error = MEMORY_MAPPING;
result.Error = SM_MEMORY_MAPPING;
return result;
}

Expand All @@ -153,25 +153,25 @@ shmem_close(shared_mapping* map) {
#if defined(__linux__) || defined(__unix__) || defined(__APPLE__)
struct stat file_status;
if (-1 == fstat(map->file_descriptor, &file_status)) {
result.Error = FSTAT;
result.Error = SM_FSTAT;
result.Std_Error = errno;
return result;
}

if (-1 == munmap(map->data, file_status.st_size)) {
result.Error = UNMAP;
result.Error = SM_UNMAP;
result.Std_Error = errno;
return result;
}

if (-1 == close(map->file_descriptor)) {
result.Error = FD_CLOSE;
result.Error = SM_FD_CLOSE;
result.Std_Error = errno;
return result;
}

if (-1 == shm_unlink(map->name)) {
result.Error = UNLINK;
result.Error = SM_UNLINK;
result.Std_Error = errno;
return result;
}
Expand All @@ -182,7 +182,7 @@ shmem_close(shared_mapping* map) {

HANDLE handle = (HANDLE)_get_osfhandle(map->file_descriptor);
if (INVALID_HANDLE_VALUE == handle) {
result.Error = FD_TO_HANDLE;
result.Error = SM_FD_TO_HANDLE;
return result;
}

Expand Down Expand Up @@ -213,7 +213,7 @@ shmem_exists(char* const map_name, u8* exists) {
}

if (-1 == close(shm_descriptor)) {
result.Error = FD_CLOSE;
result.Error = SM_FD_CLOSE;
result.Std_Error = errno;
result.Ok = false;
// TODO: need to set an error here, could raise errno
Expand Down
24 changes: 12 additions & 12 deletions tangy_src/src/shared_memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ struct shared_mapping {


typedef enum {
OK,
MAP_CREATE,
HANDLE_TO_FD,
FD_TO_HANDLE,
MEMORY_MAPPING,
FTRUNCATE,
MAP,
STAT,
FSTAT,
UNMAP,
FD_CLOSE,
UNLINK,
SM_OK,
SM_MAP_CREATE,
SM_HANDLE_TO_FD,
SM_FD_TO_HANDLE,
SM_MEMORY_MAPPING,
SM_FTRUNCATE,
SM_MAP,
SM_STAT,
SM_FSTAT,
SM_UNMAP,
SM_FD_CLOSE,
SM_UNLINK,
} shmem_error;


Expand Down

0 comments on commit d09b872

Please sign in to comment.