1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

os.notify: fix sizeof(C.epoll_event) == 12 with tcc (was 16, while with gcc/clang it is 12)

This commit is contained in:
Delyan Angelov 2022-09-29 13:20:32 +03:00
parent 3b420a8d7f
commit 6fcab013eb
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
3 changed files with 13 additions and 1 deletions

View File

@ -28,7 +28,13 @@
*/
#include <errno.h>
// tcc needs the pragmas, because it does not support yet
// the __EPOLL_PACKED macro, defined to be __attribute__ ((__packed__))
#pragma pack(push, 1)
#include <sys/epoll.h>
#pragma pack(pop)
#include <unistd.h>
#include "picoev.h"

View File

@ -3,7 +3,7 @@ module notify
import time
import os
#include <sys/epoll.h>
#insert "@VEXEROOT/vlib/os/notify/epoll.h"
struct C.epoll_event {
events u32

6
vlib/os/notify/epoll.h Normal file
View File

@ -0,0 +1,6 @@
// NOTE: tcc does not support yet __attribute__ ((__packed__)) properly,
// so the __EPOLL_PACKED macro that /usr/include/bits/epoll.h uses does not work :-| .
// However, it *does support* the older `#pragma pack(push, 1)`
#pragma pack(push, 1)
#include <sys/epoll.h>
#pragma pack(pop)