Re: GC and Coroutines

Juan Wajnerman <[email protected]>
Newsgroups gmane.comp.programming.garbage-collection.boehmgc
Message-ID <[email protected]>
The following code works fine, but if you uncomment the commented line, it crashes:

#include <gc/gc.h>
#include <pcl.h>
#include <stdio.h>

void coroutine(void *arg)
{
  int i;
  for (i = 0; i < 1000; ++i)
  {
    printf("%d\n", i);
    GC_malloc(1024);
  }
}

#define STACK_SIZE 32 * 1024
coroutine_t c;

int main(int argc, char const *argv[])
{
  GC_init();
  // GC_malloc(1024);

  c = co_create(coroutine, 0, 0, STACK_SIZE);
  co_call(c);

  return 0;
}



On Jan 28, 2014, at 6:51 PM, Basile Starynkevitch <[email protected]> wrote:

> On Tue, 2014-01-28 at 18:35 -0300, Juan Wajnerman wrote:
>> I made the stack and the coroutine variables (might be the same value, right?) as global but it still crashes.
>> Something I noticed is that when I call co_create() without a stack (it allocates its own stack) it works fine if I didn't call GC_malloc() before.
>> In other words, it crashes if I call GC_malloc() in the main function.
>> 
> 
> 
> Show the actual code if possible ... I'm not sure to understand you
> well..
> 
> Cheers.
> -- 
> Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mine, sont seulement les miennes} ***
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.