summaryrefslogtreecommitdiffstats
path: root/src/rpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc.c')
-rw-r--r--src/rpc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/rpc.c b/src/rpc.c
index 9345876..28e4b2e 100644
--- a/src/rpc.c
+++ b/src/rpc.c
@@ -18,15 +18,16 @@
#define SOCKPATH "/run/idle-daemon"
-#pragma pack(1)
-static struct {
- int read;
- int write;
+static union {
+ struct __attribute__((packed)) {
+ int read;
+ int write;
+ };
+ int array[2];
} rpcPipe = {
.read = -1,
.write = -1,
};
-#pragma pack(0)
_Static_assert( sizeof(rpcPipe) == ( sizeof(int) * 2 ), "Structsize mismatch" );
@@ -56,7 +57,7 @@ int rpc_open( void )
return -1;
}
if ( rpcPipe.write == -1 && rpcPipe.read == -1 ) {
- if ( pipe2( (int*)&rpcPipe, O_DIRECT ) == -1 ) {
+ if ( pipe2( rpcPipe.array, O_DIRECT ) == -1 ) {
perror( "Cannot create local RPC pipe" );
} else {
// Read end nonblocking