home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.os.vms      DEC's VAX* line of computers & VMS.      264,096 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 263,909 of 264,096   
   =?UTF-8?Q?Arne_Vajh=C3=B8j?= to All   
   Re: more CMA   
   04 Dec 25 16:55:31   
   
   From: arne@vajhoej.dk   
      
   On 12/4/2025 2:12 PM, Arne Vajhøj wrote:   
   > On 12/4/2025 1:29 PM, Simon Clubley wrote:   
   >> On 2025-12-04, Arne Vajhøj  wrote:   
   >>>   
   >>> A sequence of:   
   >>>   
   >>> cma_thread_create   
   >>> cma_mutex_lock   
   >>> cma_mutex_unlock   
   >>> cma_thread_join   
   >>>   
   >>> and after a little over 10000 iterations:   
   >>>   
   >>> %SYSTEM-F-INSFMEM, insufficient dynamic memory   
   >>> %TRACE-F-NOMSG, Message number 00098054   
   >>> %TRACE-I-NOMSG, Message number 00098043   
   >>>   
   >>   
   >> Resource leak ?   
   >   
   > Definitely.   
   >   
   > But the code is rather simple.   
   >   
   > Shortest reproducer:   
   >   
   > #include    
   > #include    
   >   
   > #include    
   > #include    
   >   
   > void *run(void *p)   
   > {   
   >      if(p != NULL) printf("arg pointer = %p\n", p);   
   >      return NULL;   
   > }   
   >   
   > int main()   
   > {   
   >      cma_t_thread t;   
   >      cma_t_exit_status stat;   
   >      void *p;   
   >      cma_init();   
   >      int n = 0;   
   >      while(1)   
   >      {   
   >          cma_thread_create(&t, &cma_c_null, run, NULL);   
   >          cma_thread_join(&t, &stat, &p);   
      
   Insert:   
      
   cma_thread_detach(&t);   
      
   and memory gets freed.   
      
   I don't know if this is intentional.   
      
   Usually join is sufficient.   
      
   >          if(p != NULL) printf("return pointer = %p\n", p);   
   >          n++;   
   >          printf("%d\n", n);   
   >      }   
   >      return 0;   
   > }   
      
   Arne   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca