I'm writing a block that requires a large amount of data to be processed in one iteration of the work function. If I call set_output_multiple() with 8100 * 130 = 1053000 items (of gr_complex), I get the following error:
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::buffer::allocate_buffer: failed to allocate buffer of size 16456 KB gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument gr::buffer::allocate_buffer: failed to allocate buffer of size 16456 KB terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc I realize that 16 Megabytes is a little large, but not astronomical. The set_output_multiple() function does work fine with 8100 * 129 = 1044900 items (of gr_complex). Is this some hard limitation in the shared memory library, or can it be overridden somehow? best regards, Ron _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio