- GV *gv = cGVOPx_gv(gvop);
- STRLEN len;
- const char *s = SvPV_const(name, len);
+ so_op_name_t *on = PerlMemShared_malloc(sizeof(*on) + len);
+ Copy(name, &on->buf, len, char);
+ (&on->buf)[len] = '\0';
+ on->len = len;
+#ifdef USE_ITHREADS
+ MUTEX_LOCK(&so_op_name_mutex);
+#endif /* USE_ITHREADS */
+ ptable_store(so_op_name, o, on);
+#ifdef USE_ITHREADS
+ MUTEX_UNLOCK(&so_op_name_mutex);
+#endif /* USE_ITHREADS */
+ }
+ }
+ }