@@ -224,14 +224,19 @@ cuda_context *cuda_make_ctx(CUcontext ctx, int flags) {
224224 (cache_hash_fn )key_hash ,
225225 (cache_freek_fn )key_free ,
226226 (cache_freev_fn )strb_free );
227- if (mem_cache == NULL )
227+ if (mem_cache == NULL ) {
228+ // TODO use better error messages when they are available.
229+ fprintf (stderr , "Error initializing disk cache, disabling\n" );
228230 goto fail_disk_cache ;
231+ }
229232 res -> disk_cache = cache_disk (cache_path , mem_cache ,
230233 (kwrite_fn )key_write ,
231234 (vwrite_fn )kernel_write ,
232235 (kread_fn )key_read ,
233236 (vread_fn )kernel_read );
234237 if (res -> disk_cache == NULL ) {
238+ // TODO use better error messages when they are available.
239+ fprintf (stderr , "Error initializing disk cache, disabling\n" );
235240 cache_destroy (mem_cache );
236241 goto fail_disk_cache ;
237242 }
@@ -1121,26 +1126,38 @@ static int compile(cuda_context *ctx, strb *src, strb* bin, strb *log) {
11211126 if (err != GA_NO_ERROR ) return err ;
11221127 if (ctx -> disk_cache ) {
11231128 pk = calloc (sizeof (kernel_key ), 1 );
1124- if (pk == NULL )
1129+ if (pk == NULL ) {
1130+ // TODO use better error messages
1131+ fprintf (stderr , "Error adding kernel to disk cache\n" );
11251132 return GA_NO_ERROR ;
1133+ }
11261134 memcpy (pk -> bin_id , k .bin_id , 64 );
11271135 strb_appendb (& pk -> src , src );
11281136 if (strb_error (& pk -> src )) {
1137+ // TODO use better error messages
1138+ fprintf (stderr , "Error adding kernel to disk cache\n" );
11291139 key_free ((cache_key_t )pk );
11301140 return GA_NO_ERROR ;
11311141 }
11321142 cbin = strb_alloc (bin -> l );
11331143 if (cbin == NULL ) {
1144+ // TODO use better error messages
1145+ fprintf (stderr , "Error adding kernel to disk cache\n" );
11341146 key_free ((cache_key_t )pk );
11351147 return GA_NO_ERROR ;
11361148 }
11371149 strb_appendb (cbin , bin );
11381150 if (strb_error (cbin )) {
1151+ // TODO use better error messages
1152+ fprintf (stderr , "Error adding kernel to disk cache\n" );
11391153 key_free ((cache_key_t )pk );
11401154 strb_free (cbin );
11411155 return GA_NO_ERROR ;
11421156 }
1143- cache_add (ctx -> disk_cache , pk , cbin );
1157+ if (cache_add (ctx -> disk_cache , pk , cbin )) {
1158+ // TODO use better error messages
1159+ fprintf (stderr , "Error adding kernel to disk cache\n" );
1160+ }
11441161 }
11451162
11461163 return GA_NO_ERROR ;
0 commit comments