Browse Source

Provide a copy_work_noffset function for copying a work struct but changing its ntime.

Conflicts:
	cgminer.c
	miner.h
Con Kolivas 12 years ago
parent
commit
0cb5aa6b29
2 changed files with 7 additions and 4 deletions
  1. 5 3
      miner.c
  2. 2 1
      miner.h

+ 5 - 3
miner.c

@@ -5320,12 +5320,14 @@ static void _copy_work(struct work *work, const struct work *base_work, int noff
 }
 
 /* Generates a copy of an existing work struct, creating fresh heap allocations
- * for all dynamically allocated arrays within the struct */
-struct work *copy_work(const struct work *base_work)
+ * for all dynamically allocated arrays within the struct. noffset is used for
+ * when a driver has internally rolled the ntime, noffset is a relative value.
+ * The macro copy_work() calls this function with an noffset of 0. */
+struct work *copy_work_noffset(const struct work *base_work, int noffset)
 {
 	struct work *work = make_work();
 
-	_copy_work(work, base_work, 0);
+	_copy_work(work, base_work, noffset);
 
 	return work;
 }

+ 2 - 1
miner.h

@@ -1422,7 +1422,8 @@ extern void adl(void);
 extern void clean_work(struct work *work);
 extern void free_work(struct work *work);
 extern void __copy_work(struct work *work, const struct work *base_work);
-extern struct work *copy_work(const struct work *base_work);
+extern struct work *copy_work_noffset(const struct work *base_work, int noffset);
+#define copy_work(work_in) copy_work_noffset(work_in, 0)
 extern char *devpath_to_devid(const char *);
 extern struct thr_info *get_thread(int thr_id);
 extern struct cgpu_info *get_devices(int id);