Move the truncation outside of the open function
This commit is contained in:
parent
2c4471a7b5
commit
0c024698e3
@ -22,12 +22,14 @@ int create_shmfd(char *shm_name) {
|
||||
return shmfd;
|
||||
}
|
||||
|
||||
void* open_shm(int shmfd, size_t shm_size) {
|
||||
void truncate_shm(int shmfd, size_t shm_size) {
|
||||
if(ftruncate(shmfd, shm_size) < 0) {
|
||||
fprintf(stderr, "ERROR: Failed truncating shared memory object\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
void* open_shm(int shmfd, size_t shm_size) {
|
||||
void* shm;
|
||||
shm = mmap(NULL, shm_size, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, 0);
|
||||
|
||||
|
@ -33,6 +33,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
/// Open shared memory objects
|
||||
int buffer_shmfd = create_shmfd(BUFFER_SHM_NAME);
|
||||
truncate_shm(buffer_shmfd, BUFF_SIZE);
|
||||
circ_buffer = (buffer_t *)open_shm(buffer_shmfd, sizeof(buffer_t));
|
||||
|
||||
/// Open semaphores
|
||||
|
Reference in New Issue
Block a user