Skip to content

Latest commit

 

History

History
62 lines (60 loc) · 4.05 KB

File metadata and controls

62 lines (60 loc) · 4.05 KB
src/hostname/hostnamed.c                                                  
+-----+                                                                    
| run | : register vtable, request "org.freedesktop.hostname1"             
+-|---+                                                                    
  |    +--------------------+                                              
  |--> | service_parse_argv | handle options                               
  |    +--------------------+                                              
  |    +------------------+                                                
  |--> | sd_event_default | get default event                              
  |    +------------------+                                                
  |    +-----------------------+                                           
  |--> | sd_event_set_watchdog | arm watchdog of event                     
  |    +-----------------------+                                           
  |    +---------------------+                                             
  |--> | sd_event_add_signal | add signal source (SIGINT) for event        
  |    +---------------------+                                             
  |    +---------------------+                                             
  |--> | sd_event_add_signal | add signal source (SIGTERM) for event       
  |    +---------------------+                                             
  |    +-------------+                                                     
  |--> | connect_bus | register vtable, request "org.freedesktop.hostname1"
  |    +-------------+                                                     
  |    +--------------------------+                                        
  +--> | bus_event_loop_with_idle |                                        
       +--------------------------+                                        
src/hostname/hostnamed.c                                             
+-------------+                                                       
| connect_bus | : register vtable, request "org.freedesktop.hostname1"
+-|-----------+                                                       
  |    +-----------------------+                                      
  |--> | sd_bus_default_system | get default bus                      
  |    +-----------------------+                                      
  |    +------------------------+                                     
  |--> | bus_add_implementation | register vtable                     
  |    +------------------------+                                     
  |    +---------------------------+                                  
  |--> | sd_bus_request_name_async | "org.freedesktop.hostname1"      
  |    +---------------------------+                                  
  |    +---------------------+                                        
  +--> | sd_bus_attach_event | prepare all kinds of sources for event 
       +---------------------+                                        
src/hostname/hostnamed.c                                                          
+---------------------+                                                            
| method_set_hostname | : determine and update hostname                            
+-|-------------------+                                                            
  |    +---------------------+                                                     
  |--> | sd_bus_message_read | get hostname from msg                               
  |    +---------------------+                                                     
  |                                                                                
  |--> read '/etc/hostname' and verify it                                          
  |                                                                                
  |    +--------------------------------+                                          
  +--> | context_update_kernel_hostname | update hostname from /etc/hostname or msg
       +--------------------------------+