GNU/Linux >> Linux Esercitazione >  >> Linux

Gestione della memoria con struct epoll_event

Va assolutamente bene buttare via o riutilizzare immediatamente la tua struttura epoll_event.

Il kernel copierà i parametri dalla struttura epoll_event.

Questo è esattamente come se usassi un ioctl che accetta una struct come parametro, o un'operazione socket (ad es. bind) che accetta una struct sockaddr_in.

Il kernel prende ciò di cui ha bisogno e puoi liberarlo immediatamente.

L'unica cosa di cui devi preoccuparti sono i "dati utente", che sono rilevanti solo per te. Il kernel lo memorizzerà, ma devi sapere cosa significa quando ricevi un evento.


Va tutto bene. Il epoll_ctl function è un semplice wrapper attorno a una chiamata di sistema che sarà completamente completa quando la funzione ritorna. Non sono richiesti ulteriori dati dallo spazio utente. La struttura è semplicemente un modo per impacchettare gli argomenti.


Linux
  1. Problemi con lo scambio in Ubuntu 18.04?

  2. Gestione del segnale con più thread in Linux

  3. Il mio bootloader non può essere compilato con gcc 4.6 e 4.7 ... solo 4.5

  4. Come allocare la memoria che è allineata alle dimensioni della pagina?

  5. Quale file system Linux funziona meglio con SSD

Rileva librerie condivise obsolete in memoria con UChecker

Come utilizzare la memoria condivisa con Linux in C

Come ottenere la percentuale di utilizzo della memoria con vmstat?

Limita la memoria e la cpu con lxc-execute

Quale driver gestisce il mio touchpad?

Come indagare su una perdita di memoria con Apache e PHP?